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. */
9TREDEF(RECERR, "error thrown or hook called during recording")
10TREDEF(TRACEUV, "trace too short")
11TREDEF(TRACEOV, "trace too long")
12TREDEF(STACKOV, "trace too deep")
13TREDEF(SNAPOV, "too many snapshots")
14TREDEF(BLACKL, "blacklisted")
15TREDEF(RETRY, "retry recording")
16TREDEF(NYIBC, "NYI: bytecode %d")
17
18/* Recording loop ops. */
19TREDEF(LLEAVE, "leaving loop in root trace")
20TREDEF(LINNER, "inner loop in root trace")
21TREDEF(LUNROLL, "loop unroll limit reached")
22
23/* Recording calls/returns. */
24TREDEF(BADTYPE, "bad argument type")
25TREDEF(CJITOFF, "JIT compilation disabled for function")
26TREDEF(CUNROLL, "call unroll limit reached")
27TREDEF(DOWNREC, "down-recursion, restarting")
28TREDEF(NYIFFU, "NYI: unsupported variant of FastFunc %s")
29TREDEF(NYIRETL, "NYI: return to lower frame")
30
31/* Recording indexed load/store. */
32TREDEF(STORENN, "store with nil or NaN key")
33TREDEF(NOMM, "missing metamethod")
34TREDEF(IDXLOOP, "looping index lookup")
35TREDEF(NYITMIX, "NYI: mixed sparse/dense table")
36
37/* Recording C data operations. */
38TREDEF(NOCACHE, "symbol not in cache")
39TREDEF(NYICONV, "NYI: unsupported C type conversion")
40TREDEF(NYICALL, "NYI: unsupported C function type")
41
42/* Optimizations. */
43TREDEF(GFAIL, "guard would always fail")
44TREDEF(PHIOV, "too many PHIs")
45TREDEF(TYPEINS, "persistent type instability")
46
47/* Assembler. */
48TREDEF(MCODEAL, "failed to allocate mcode memory")
49TREDEF(MCODEOV, "machine code too long")
50TREDEF(MCODELM, "hit mcode limit (retrying)")
51TREDEF(SPILLOV, "too many spill slots")
52TREDEF(BADRA, "inconsistent register allocation")
53TREDEF(NYIIR, "NYI: cannot assemble IR instruction %d")
54TREDEF(NYIPHI, "NYI: PHI shuffling too complex")
55TREDEF(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