src/lj_traceerr.h - luajit-2.0-src

Macros defined

Source code

  1. /*
  2. ** Trace compiler error messages.
  3. ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
  4. */

  5. /* This file may be included multiple times with different TREDEF macros. */

  6. /* Recording. */
  7. TREDEF(RECERR,        "error thrown or hook called during recording")
  8. TREDEF(TRACEUV,        "trace too short")
  9. TREDEF(TRACEOV,        "trace too long")
  10. TREDEF(STACKOV,        "trace too deep")
  11. TREDEF(SNAPOV,        "too many snapshots")
  12. TREDEF(BLACKL,        "blacklisted")
  13. TREDEF(NYIBC,        "NYI: bytecode %d")

  14. /* Recording loop ops. */
  15. TREDEF(LLEAVE,        "leaving loop in root trace")
  16. TREDEF(LINNER,        "inner loop in root trace")
  17. TREDEF(LUNROLL,        "loop unroll limit reached")

  18. /* Recording calls/returns. */
  19. TREDEF(BADTYPE,        "bad argument type")
  20. TREDEF(CJITOFF,        "JIT compilation disabled for function")
  21. TREDEF(CUNROLL,        "call unroll limit reached")
  22. TREDEF(DOWNREC,        "down-recursion, restarting")
  23. TREDEF(NYIFFU,        "NYI: unsupported variant of FastFunc %s")
  24. TREDEF(NYIRETL,        "NYI: return to lower frame")

  25. /* Recording indexed load/store. */
  26. TREDEF(STORENN,        "store with nil or NaN key")
  27. TREDEF(NOMM,        "missing metamethod")
  28. TREDEF(IDXLOOP,        "looping index lookup")
  29. TREDEF(NYITMIX,        "NYI: mixed sparse/dense table")

  30. /* Recording C data operations. */
  31. TREDEF(NOCACHE,        "symbol not in cache")
  32. TREDEF(NYICONV,        "NYI: unsupported C type conversion")
  33. TREDEF(NYICALL,        "NYI: unsupported C function type")

  34. /* Optimizations. */
  35. TREDEF(GFAIL,        "guard would always fail")
  36. TREDEF(PHIOV,        "too many PHIs")
  37. TREDEF(TYPEINS,        "persistent type instability")

  38. /* Assembler. */
  39. TREDEF(MCODEAL,        "failed to allocate mcode memory")
  40. TREDEF(MCODEOV,        "machine code too long")
  41. TREDEF(MCODELM,        "hit mcode limit (retrying)")
  42. TREDEF(SPILLOV,        "too many spill slots")
  43. TREDEF(BADRA,        "inconsistent register allocation")
  44. TREDEF(NYIIR,        "NYI: cannot assemble IR instruction %d")
  45. TREDEF(NYIPHI,        "NYI: PHI shuffling too complex")
  46. TREDEF(NYICOAL,        "NYI: register coalescing too complex")

  47. #undef TREDEF

  48. /* Detecting unused error messages:
  49.    awk -F, '/^TREDEF/ { gsub(/TREDEF./, ""); printf "grep -q LJ_TRERR_%s *.[ch] || echo %s\n", $1, $1}' lj_traceerr.h | sh
  50. */