lopcodes.c 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. /*
  2. ** $Id: lopcodes.c,v 1.3 2001/08/27 15:14:57 roberto Exp $
  3. ** extracted automatically from lopcodes.h by mkprint.lua
  4. ** DO NOT EDIT
  5. ** See Copyright Notice in lua.h
  6. */
  7. #define LUA_PRIVATE
  8. #include "lua.h"
  9. #include "lobject.h"
  10. #include "lopcodes.h"
  11. #ifdef LUA_OPNAMES
  12. const l_char *const luaP_opnames[] = {
  13. l_s("MOVE"),
  14. l_s("LOADK"),
  15. l_s("LOADINT"),
  16. l_s("LOADNIL"),
  17. l_s("GETUPVAL"),
  18. l_s("GETGLOBAL"),
  19. l_s("GETTABLE"),
  20. l_s("SETGLOBAL"),
  21. l_s("SETUPVAL"),
  22. l_s("SETTABLE"),
  23. l_s("NEWTABLE"),
  24. l_s("SELF"),
  25. l_s("ADD"),
  26. l_s("SUB"),
  27. l_s("MUL"),
  28. l_s("DIV"),
  29. l_s("POW"),
  30. l_s("UNM"),
  31. l_s("NOT"),
  32. l_s("CONCAT"),
  33. l_s("JMP"),
  34. l_s("CJMP"),
  35. l_s("TESTEQ"),
  36. l_s("TESTNE"),
  37. l_s("TESTLT"),
  38. l_s("TESTLE"),
  39. l_s("TESTGT"),
  40. l_s("TESTGE"),
  41. l_s("TESTT"),
  42. l_s("TESTF"),
  43. l_s("NILJMP"),
  44. l_s("CALL"),
  45. l_s("RETURN"),
  46. l_s("FORPREP"),
  47. l_s("FORLOOP"),
  48. l_s("TFORPREP"),
  49. l_s("TFORLOOP"),
  50. l_s("SETLIST"),
  51. l_s("SETLISTO"),
  52. l_s("CLOSE"),
  53. l_s("CLOSURE")
  54. };
  55. #endif
  56. #define opmode(t,x,b,c,sa,k,m) (((t)<<OpModeT) | \
  57. ((b)<<OpModeBreg) | ((c)<<OpModeCreg) | \
  58. ((sa)<<OpModesetA) | ((k)<<OpModeK) | (m))
  59. const lu_byte luaP_opmodes[NUM_OPCODES] = {
  60. /* T _ B C sA K mode opcode */
  61. opmode(0,0,1,0, 1,0,iABC) /* OP_MOVE */
  62. ,opmode(0,0,0,0, 1,1,iABc) /* OP_LOADK */
  63. ,opmode(0,0,0,0, 1,0,iAsBc) /* OP_LOADINT */
  64. ,opmode(0,0,1,0, 1,0,iABC) /* OP_LOADNIL */
  65. ,opmode(0,0,0,0, 1,0,iABC) /* OP_GETUPVAL */
  66. ,opmode(0,0,0,0, 1,1,iABc) /* OP_GETGLOBAL */
  67. ,opmode(0,0,1,1, 1,0,iABC) /* OP_GETTABLE */
  68. ,opmode(0,0,0,0, 0,1,iABc) /* OP_SETGLOBAL */
  69. ,opmode(0,0,0,0, 0,0,iABC) /* OP_SETUPVAL */
  70. ,opmode(0,0,1,1, 0,0,iABC) /* OP_SETTABLE */
  71. ,opmode(0,0,0,0, 1,0,iABc) /* OP_NEWTABLE */
  72. ,opmode(0,0,1,1, 1,0,iABC) /* OP_SELF */
  73. ,opmode(0,0,1,1, 1,0,iABC) /* OP_ADD */
  74. ,opmode(0,0,1,1, 1,0,iABC) /* OP_SUB */
  75. ,opmode(0,0,1,1, 1,0,iABC) /* OP_MUL */
  76. ,opmode(0,0,1,1, 1,0,iABC) /* OP_DIV */
  77. ,opmode(0,0,1,1, 1,0,iABC) /* OP_POW */
  78. ,opmode(0,0,1,0, 1,0,iABC) /* OP_UNM */
  79. ,opmode(0,0,1,0, 1,0,iABC) /* OP_NOT */
  80. ,opmode(0,0,1,1, 1,0,iABC) /* OP_CONCAT */
  81. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_JMP */
  82. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_CJMP */
  83. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTEQ */
  84. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTNE */
  85. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTLT */
  86. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTLE */
  87. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTGT */
  88. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTGE */
  89. ,opmode(1,0,1,0, 1,0,iABC) /* OP_TESTT */
  90. ,opmode(1,0,1,0, 1,0,iABC) /* OP_TESTF */
  91. ,opmode(0,0,0,0, 1,0,iABc) /* OP_NILJMP */
  92. ,opmode(0,0,0,0, 0,0,iABC) /* OP_CALL */
  93. ,opmode(0,0,0,0, 0,0,iABC) /* OP_RETURN */
  94. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_FORPREP */
  95. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_FORLOOP */
  96. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_TFORPREP */
  97. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_TFORLOOP */
  98. ,opmode(0,0,0,0, 0,0,iABc) /* OP_SETLIST */
  99. ,opmode(0,0,0,0, 0,0,iABc) /* OP_SETLISTO */
  100. ,opmode(0,0,0,0, 0,0,iABC) /* OP_CLOSE */
  101. ,opmode(0,0,0,0, 1,0,iABc) /* OP_CLOSURE */
  102. };