| 1 | /* | 
| 2 | ** Trace compiler error messages. | 
| 3 | ** Copyright (C) 2005-2014 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(TRACEOV,	"trace too long" ) | 
| 11 | TREDEF(STACKOV,	"trace too deep" ) | 
| 12 | TREDEF(SNAPOV,	"too many snapshots" ) | 
| 13 | TREDEF(BLACKL,	"blacklisted" ) | 
| 14 | TREDEF(NYIBC,	"NYI: bytecode %d" ) | 
| 15 |  | 
| 16 | /* Recording loop ops. */ | 
| 17 | TREDEF(LLEAVE,	"leaving loop in root trace" ) | 
| 18 | TREDEF(LINNER,	"inner loop in root trace" ) | 
| 19 | TREDEF(LUNROLL,	"loop unroll limit reached" ) | 
| 20 |  | 
| 21 | /* Recording calls/returns. */ | 
| 22 | TREDEF(BADTYPE,	"bad argument type" ) | 
| 23 | TREDEF(CJITOFF,	"JIT compilation disabled for function" ) | 
| 24 | TREDEF(CUNROLL,	"call unroll limit reached" ) | 
| 25 | TREDEF(DOWNREC,	"down-recursion, restarting" ) | 
| 26 | TREDEF(NYICF,	"NYI: C function %p" ) | 
| 27 | TREDEF(NYIFF,	"NYI: FastFunc %s" ) | 
| 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 |  |