src/jit/vmdef.lua - luajit-2.0-src

  1. -- This is a generated file. DO NOT EDIT!

  2. return {

  3. bcnames = "ISLT  ISGE  ISLE  ISGT  ISEQV ISNEV ISEQS ISNES ISEQN ISNEN ISEQP ISNEP ISTC  ISFC  IST   ISF   ISTYPEISNUM MOV   NOT   UNM   LEN   ADDVN SUBVN MULVN DIVVN MODVN ADDNV SUBNV MULNV DIVNV MODNV ADDVV SUBVV MULVV DIVVV MODVV POW   CAT   KSTR  KCDATAKSHORTKNUM  KPRI  KNIL  UGET  USETV USETS USETN USETP UCLO  FNEW  TNEW  TDUP  GGET  GSET  TGETV TGETS TGETB TGETR TSETV TSETS TSETB TSETM TSETR CALLM CALL  CALLMTCALLT ITERC ITERN VARG  ISNEXTRETM  RET   RET0  RET1  FORI  JFORI FORL  IFORL JFORL ITERL IITERLJITERLLOOP  ILOOP JLOOP JMP   FUNCF IFUNCFJFUNCFFUNCV IFUNCVJFUNCVFUNCC FUNCCW",

  4. irnames = "LT    GE    LE    GT    ULT   UGE   ULE   UGT   EQ    NE    ABC   RETF  NOP   BASE  PVAL  GCSTEPHIOP  LOOP  USE   PHI   RENAMEPROF  KPRI  KINT  KGC   KPTR  KKPTR KNULL KNUM  KINT64KSLOT BNOT  BSWAP BAND  BOR   BXOR  BSHL  BSHR  BSAR  BROL  BROR  ADD   SUB   MUL   DIV   MOD   POW   NEG   ABS   ATAN2 LDEXP MIN   MAX   FPMATHADDOV SUBOV MULOV AREF  HREFK HREF  NEWREFUREFO UREFC FREF  STRREFLREF  ALOAD HLOAD ULOAD FLOAD XLOAD SLOAD VLOAD ASTOREHSTOREUSTOREFSTOREXSTORESNEW  XSNEW TNEW  TDUP  CNEW  CNEWI BUFHDRBUFPUTBUFSTRTBAR  OBAR  XBAR  CONV  TOBIT TOSTR STRTO CALLN CALLA CALLL CALLS CALLXSCARG  ",

  5. irfpm = { [0]="floor", "ceil", "trunc", "sqrt", "exp", "exp2", "log", "log2", "log10", "sin", "cos", "tan", "other", },

  6. irfield = { [0]="str.len", "func.env", "func.pc", "func.ffid", "thread.env", "tab.meta", "tab.array", "tab.node", "tab.asize", "tab.hmask", "tab.nomm", "udata.meta", "udata.udtype", "udata.file", "cdata.ctypeid", "cdata.ptr", "cdata.int", "cdata.int64", "cdata.int64_4", },

  7. ircall = {
  8. [0]="lj_str_cmp",
  9. "lj_str_find",
  10. "lj_str_new",
  11. "lj_strscan_num",
  12. "lj_strfmt_int",
  13. "lj_strfmt_num",
  14. "lj_strfmt_char",
  15. "lj_strfmt_putint",
  16. "lj_strfmt_putnum",
  17. "lj_strfmt_putquoted",
  18. "lj_strfmt_putfxint",
  19. "lj_strfmt_putfnum_int",
  20. "lj_strfmt_putfnum_uint",
  21. "lj_strfmt_putfnum",
  22. "lj_strfmt_putfstr",
  23. "lj_strfmt_putfchar",
  24. "lj_buf_putmem",
  25. "lj_buf_putstr",
  26. "lj_buf_putchar",
  27. "lj_buf_putstr_reverse",
  28. "lj_buf_putstr_lower",
  29. "lj_buf_putstr_upper",
  30. "lj_buf_putstr_rep",
  31. "lj_buf_puttab",
  32. "lj_buf_tostr",
  33. "lj_tab_new_ah",
  34. "lj_tab_new1",
  35. "lj_tab_dup",
  36. "lj_tab_clear",
  37. "lj_tab_newkey",
  38. "lj_tab_len",
  39. "lj_gc_step_jit",
  40. "lj_gc_barrieruv",
  41. "lj_mem_newgco",
  42. "lj_math_random_step",
  43. "lj_vm_modi",
  44. "sinh",
  45. "cosh",
  46. "tanh",
  47. "fputc",
  48. "fwrite",
  49. "fflush",
  50. "lj_vm_floor",
  51. "lj_vm_ceil",
  52. "lj_vm_trunc",
  53. "sqrt",
  54. "exp",
  55. "lj_vm_exp2",
  56. "log",
  57. "lj_vm_log2",
  58. "log10",
  59. "sin",
  60. "cos",
  61. "tan",
  62. "lj_vm_powi",
  63. "pow",
  64. "atan2",
  65. "ldexp",
  66. "lj_vm_tobit",
  67. "softfp_add",
  68. "softfp_sub",
  69. "softfp_mul",
  70. "softfp_div",
  71. "softfp_cmp",
  72. "softfp_i2d",
  73. "softfp_d2i",
  74. "softfp_ui2d",
  75. "softfp_f2d",
  76. "softfp_d2ui",
  77. "softfp_d2f",
  78. "softfp_i2f",
  79. "softfp_ui2f",
  80. "softfp_f2i",
  81. "softfp_f2ui",
  82. "fp64_l2d",
  83. "fp64_ul2d",
  84. "fp64_l2f",
  85. "fp64_ul2f",
  86. "fp64_d2l",
  87. "fp64_d2ul",
  88. "fp64_f2l",
  89. "fp64_f2ul",
  90. "lj_carith_divi64",
  91. "lj_carith_divu64",
  92. "lj_carith_modi64",
  93. "lj_carith_modu64",
  94. "lj_carith_powi64",
  95. "lj_carith_powu64",
  96. "lj_cdata_newv",
  97. "lj_cdata_setfin",
  98. "strlen",
  99. "memcpy",
  100. "memset",
  101. "lj_vm_errno",
  102. "lj_carith_mul64",
  103. "lj_carith_shl64",
  104. "lj_carith_shr64",
  105. "lj_carith_sar64",
  106. "lj_carith_rol64",
  107. "lj_carith_ror64",
  108. },

  109. traceerr = {
  110. [0]="error thrown or hook called during recording",
  111. "trace too short",
  112. "trace too long",
  113. "trace too deep",
  114. "too many snapshots",
  115. "blacklisted",
  116. "NYI: bytecode %d",
  117. "leaving loop in root trace",
  118. "inner loop in root trace",
  119. "loop unroll limit reached",
  120. "bad argument type",
  121. "JIT compilation disabled for function",
  122. "call unroll limit reached",
  123. "down-recursion, restarting",
  124. "NYI: unsupported variant of FastFunc %s",
  125. "NYI: return to lower frame",
  126. "store with nil or NaN key",
  127. "missing metamethod",
  128. "looping index lookup",
  129. "NYI: mixed sparse/dense table",
  130. "symbol not in cache",
  131. "NYI: unsupported C type conversion",
  132. "NYI: unsupported C function type",
  133. "guard would always fail",
  134. "too many PHIs",
  135. "persistent type instability",
  136. "failed to allocate mcode memory",
  137. "machine code too long",
  138. "hit mcode limit (retrying)",
  139. "too many spill slots",
  140. "inconsistent register allocation",
  141. "NYI: cannot assemble IR instruction %d",
  142. "NYI: PHI shuffling too complex",
  143. "NYI: register coalescing too complex",
  144. },

  145. ffnames = {
  146. [0]="Lua",
  147. "C",
  148. "assert",
  149. "type",
  150. "next",
  151. "pairs",
  152. "ipairs_aux",
  153. "ipairs",
  154. "getmetatable",
  155. "setmetatable",
  156. "getfenv",
  157. "setfenv",
  158. "rawget",
  159. "rawset",
  160. "rawequal",
  161. "unpack",
  162. "select",
  163. "tonumber",
  164. "tostring",
  165. "error",
  166. "pcall",
  167. "xpcall",
  168. "loadfile",
  169. "load",
  170. "loadstring",
  171. "dofile",
  172. "gcinfo",
  173. "collectgarbage",
  174. "newproxy",
  175. "print",
  176. "coroutine.status",
  177. "coroutine.running",
  178. "coroutine.create",
  179. "coroutine.yield",
  180. "coroutine.resume",
  181. "coroutine.wrap_aux",
  182. "coroutine.wrap",
  183. "math.abs",
  184. "math.floor",
  185. "math.ceil",
  186. "math.sqrt",
  187. "math.log10",
  188. "math.exp",
  189. "math.sin",
  190. "math.cos",
  191. "math.tan",
  192. "math.asin",
  193. "math.acos",
  194. "math.atan",
  195. "math.sinh",
  196. "math.cosh",
  197. "math.tanh",
  198. "math.frexp",
  199. "math.modf",
  200. "math.log",
  201. "math.atan2",
  202. "math.pow",
  203. "math.fmod",
  204. "math.ldexp",
  205. "math.min",
  206. "math.max",
  207. "math.random",
  208. "math.randomseed",
  209. "bit.tobit",
  210. "bit.bnot",
  211. "bit.bswap",
  212. "bit.lshift",
  213. "bit.rshift",
  214. "bit.arshift",
  215. "bit.rol",
  216. "bit.ror",
  217. "bit.band",
  218. "bit.bor",
  219. "bit.bxor",
  220. "bit.tohex",
  221. "string.byte",
  222. "string.char",
  223. "string.sub",
  224. "string.rep",
  225. "string.reverse",
  226. "string.lower",
  227. "string.upper",
  228. "string.dump",
  229. "string.find",
  230. "string.match",
  231. "string.gmatch_aux",
  232. "string.gmatch",
  233. "string.gsub",
  234. "string.format",
  235. "table.maxn",
  236. "table.insert",
  237. "table.concat",
  238. "table.sort",
  239. "table.new",
  240. "table.clear",
  241. "io.method.close",
  242. "io.method.read",
  243. "io.method.write",
  244. "io.method.flush",
  245. "io.method.seek",
  246. "io.method.setvbuf",
  247. "io.method.lines",
  248. "io.method.__gc",
  249. "io.method.__tostring",
  250. "io.open",
  251. "io.popen",
  252. "io.tmpfile",
  253. "io.close",
  254. "io.read",
  255. "io.write",
  256. "io.flush",
  257. "io.input",
  258. "io.output",
  259. "io.lines",
  260. "io.type",
  261. "os.execute",
  262. "os.remove",
  263. "os.rename",
  264. "os.tmpname",
  265. "os.getenv",
  266. "os.exit",
  267. "os.clock",
  268. "os.date",
  269. "os.time",
  270. "os.difftime",
  271. "os.setlocale",
  272. "debug.getregistry",
  273. "debug.getmetatable",
  274. "debug.setmetatable",
  275. "debug.getfenv",
  276. "debug.setfenv",
  277. "debug.getinfo",
  278. "debug.getlocal",
  279. "debug.setlocal",
  280. "debug.getupvalue",
  281. "debug.setupvalue",
  282. "debug.upvalueid",
  283. "debug.upvaluejoin",
  284. "debug.sethook",
  285. "debug.gethook",
  286. "debug.debug",
  287. "debug.traceback",
  288. "jit.on",
  289. "jit.off",
  290. "jit.flush",
  291. "jit.status",
  292. "jit.attach",
  293. "jit.util.funcinfo",
  294. "jit.util.funcbc",
  295. "jit.util.funck",
  296. "jit.util.funcuvname",
  297. "jit.util.traceinfo",
  298. "jit.util.traceir",
  299. "jit.util.tracek",
  300. "jit.util.tracesnap",
  301. "jit.util.tracemc",
  302. "jit.util.traceexitstub",
  303. "jit.util.ircalladdr",
  304. "jit.opt.start",
  305. "jit.profile.start",
  306. "jit.profile.stop",
  307. "jit.profile.dumpstack",
  308. "ffi.meta.__index",
  309. "ffi.meta.__newindex",
  310. "ffi.meta.__eq",
  311. "ffi.meta.__len",
  312. "ffi.meta.__lt",
  313. "ffi.meta.__le",
  314. "ffi.meta.__concat",
  315. "ffi.meta.__call",
  316. "ffi.meta.__add",
  317. "ffi.meta.__sub",
  318. "ffi.meta.__mul",
  319. "ffi.meta.__div",
  320. "ffi.meta.__mod",
  321. "ffi.meta.__pow",
  322. "ffi.meta.__unm",
  323. "ffi.meta.__tostring",
  324. "ffi.meta.__pairs",
  325. "ffi.meta.__ipairs",
  326. "ffi.clib.__index",
  327. "ffi.clib.__newindex",
  328. "ffi.clib.__gc",
  329. "ffi.callback.free",
  330. "ffi.callback.set",
  331. "ffi.cdef",
  332. "ffi.new",
  333. "ffi.cast",
  334. "ffi.typeof",
  335. "ffi.typeinfo",
  336. "ffi.istype",
  337. "ffi.sizeof",
  338. "ffi.alignof",
  339. "ffi.offsetof",
  340. "ffi.errno",
  341. "ffi.string",
  342. "ffi.copy",
  343. "ffi.fill",
  344. "ffi.abi",
  345. "ffi.metatype",
  346. "ffi.gc",
  347. "ffi.load",
  348. },

  349. }