1 | /* |
2 | ** Trace compiler error messages. |
3 | ** Copyright (C) 2005-2021 Mike Pall. See Copyright Notice in luajit.h |
4 | */ |
5 | |
6 | /* This file may be included multiple times with different TREDEF macros. */ |
7 | |
8 | /* Recording. */ |
9 | TREDEF(RECERR, "error thrown or hook called during recording" ) |
10 | TREDEF(TRACEUV, "trace too short" ) |
11 | TREDEF(TRACEOV, "trace too long" ) |
12 | TREDEF(STACKOV, "trace too deep" ) |
13 | TREDEF(SNAPOV, "too many snapshots" ) |
14 | TREDEF(BLACKL, "blacklisted" ) |
15 | TREDEF(RETRY, "retry recording" ) |
16 | TREDEF(NYIBC, "NYI: bytecode %d" ) |
17 | |
18 | /* Recording loop ops. */ |
19 | TREDEF(LLEAVE, "leaving loop in root trace" ) |
20 | TREDEF(LINNER, "inner loop in root trace" ) |
21 | TREDEF(LUNROLL, "loop unroll limit reached" ) |
22 | |
23 | /* Recording calls/returns. */ |
24 | TREDEF(BADTYPE, "bad argument type" ) |
25 | TREDEF(CJITOFF, "JIT compilation disabled for function" ) |
26 | TREDEF(CUNROLL, "call unroll limit reached" ) |
27 | TREDEF(DOWNREC, "down-recursion, restarting" ) |
28 | TREDEF(NYIFFU, "NYI: unsupported variant of FastFunc %s" ) |
29 | TREDEF(NYIRETL, "NYI: return to lower frame" ) |
30 | |
31 | /* Recording indexed load/store. */ |
32 | TREDEF(STORENN, "store with nil or NaN key" ) |
33 | TREDEF(NOMM, "missing metamethod" ) |
34 | TREDEF(IDXLOOP, "looping index lookup" ) |
35 | TREDEF(NYITMIX, "NYI: mixed sparse/dense table" ) |
36 | |
37 | /* Recording C data operations. */ |
38 | TREDEF(NOCACHE, "symbol not in cache" ) |
39 | TREDEF(NYICONV, "NYI: unsupported C type conversion" ) |
40 | TREDEF(NYICALL, "NYI: unsupported C function type" ) |
41 | |
42 | /* Optimizations. */ |
43 | TREDEF(GFAIL, "guard would always fail" ) |
44 | TREDEF(PHIOV, "too many PHIs" ) |
45 | TREDEF(TYPEINS, "persistent type instability" ) |
46 | |
47 | /* Assembler. */ |
48 | TREDEF(MCODEAL, "failed to allocate mcode memory" ) |
49 | TREDEF(MCODEOV, "machine code too long" ) |
50 | TREDEF(MCODELM, "hit mcode limit (retrying)" ) |
51 | TREDEF(SPILLOV, "too many spill slots" ) |
52 | TREDEF(BADRA, "inconsistent register allocation" ) |
53 | TREDEF(NYIIR, "NYI: cannot assemble IR instruction %d" ) |
54 | TREDEF(NYIPHI, "NYI: PHI shuffling too complex" ) |
55 | TREDEF(NYICOAL, "NYI: register coalescing too complex" ) |
56 | |
57 | #undef TREDEF |
58 | |
59 | /* Detecting unused error messages: |
60 | awk -F, '/^TREDEF/ { gsub(/TREDEF./, ""); printf "grep -q LJ_TRERR_%s *.[ch] || echo %s\n", $1, $1}' lj_traceerr.h | sh |
61 | */ |
62 | |