| 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 | |