source: trunk/opcode_spec_def.h @ 564

Last change on this file since 564 was 564, checked in by moo, 6 years ago

add id/name in comment to make it more readable

  • Property svn:eol-style set to native
File size: 11.8 KB
Line 
1static const xc_opcode_spec_t xc_opcode_spec[] = {
2    OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 0 NOP */
3    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 1 ADD */
4    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 2 SUB */
5    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 3 MUL */
6    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 4 DIV */
7    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 5 MOD */
8    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 6 SL */
9    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 7 SR */
10    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 8 CONCAT */
11    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 9 BW_OR */
12    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 10 BW_AND */
13    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 11 BW_XOR */
14    OPSPEC(    UNUSED,        STD,     UNUSED,        TMP) /* 12 BW_NOT */
15    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 13 BOOL_NOT */
16    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 14 BOOL_XOR */
17    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 15 IS_IDENTICAL */
18    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 16 IS_NOT_IDENTICAL */
19    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 17 IS_EQUAL */
20    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 18 IS_NOT_EQUAL */
21    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 19 IS_SMALLER */
22    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 20 IS_SMALLER_OR_EQUAL */
23    OPSPEC(      CAST,        STD,     UNUSED,        TMP) /* 21 CAST */
24    OPSPEC(    UNUSED,        STD,     UNUSED,        TMP) /* 22 QM_ASSIGN */
25    OPSPEC(    ASSIGN,        STD,        STD,        VAR) /* 23 ASSIGN_ADD */
26    OPSPEC(    ASSIGN,        STD,        STD,        VAR) /* 24 ASSIGN_SUB */
27    OPSPEC(    ASSIGN,        STD,        STD,        VAR) /* 25 ASSIGN_MUL */
28    OPSPEC(    ASSIGN,        STD,        STD,        VAR) /* 26 ASSIGN_DIV */
29    OPSPEC(    ASSIGN,        STD,        STD,        VAR) /* 27 ASSIGN_MOD */
30    OPSPEC(    ASSIGN,        STD,        STD,        VAR) /* 28 ASSIGN_SL */
31    OPSPEC(    ASSIGN,        STD,        STD,        VAR) /* 29 ASSIGN_SR */
32    OPSPEC(    ASSIGN,        STD,        STD,        VAR) /* 30 ASSIGN_CONCAT */
33    OPSPEC(    ASSIGN,        STD,        STD,        VAR) /* 31 ASSIGN_BW_OR */
34    OPSPEC(    ASSIGN,        STD,        STD,        VAR) /* 32 ASSIGN_BW_AND */
35    OPSPEC(    ASSIGN,        STD,        STD,        VAR) /* 33 ASSIGN_BW_XOR */
36    OPSPEC(    UNUSED,        VAR,     UNUSED,        VAR) /* 34 PRE_INC */
37    OPSPEC(    UNUSED,        VAR,     UNUSED,        VAR) /* 35 PRE_DEC */
38    OPSPEC(    UNUSED,        VAR,     UNUSED,        TMP) /* 36 POST_INC */
39    OPSPEC(    UNUSED,        VAR,     UNUSED,        TMP) /* 37 POST_DEC */
40    OPSPEC(    UNUSED,        VAR,        STD,        VAR) /* 38 ASSIGN */
41    OPSPEC(    UNUSED,        VAR,        VAR,        VAR) /* 39 ASSIGN_REF */
42    OPSPEC(    UNUSED,        STD,     UNUSED,     UNUSED) /* 40 ECHO */
43    OPSPEC(    UNUSED,        STD,     UNUSED,        TMP) /* 41 PRINT */
44    OPSPEC(    UNUSED,    JMPADDR,     UNUSED,     UNUSED) /* 42 JMP */
45    OPSPEC(    UNUSED,        STD,    JMPADDR,     UNUSED) /* 43 JMPZ */
46    OPSPEC(    UNUSED,        STD,    JMPADDR,     UNUSED) /* 44 JMPNZ */
47    OPSPEC(    OPLINE,        STD,     OPLINE,     UNUSED) /* 45 JMPZNZ */
48    OPSPEC(    UNUSED,        STD,    JMPADDR,        TMP) /* 46 JMPZ_EX */
49    OPSPEC(    UNUSED,        STD,    JMPADDR,        TMP) /* 47 JMPNZ_EX */
50    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 48 CASE */
51    OPSPEC(       BIT,        STD,     UNUSED,     UNUSED) /* 49 SWITCH_FREE */
52    OPSPEC(    UNUSED,        BRK,        STD,     UNUSED) /* 50 BRK */
53    OPSPEC(    UNUSED,       CONT,        STD,     UNUSED) /* 51 CONT */
54    OPSPEC(    UNUSED,        STD,     UNUSED,        TMP) /* 52 BOOL */
55    OPSPEC(    UNUSED,     UNUSED,     UNUSED,        TMP) /* 53 INIT_STRING */
56    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 54 ADD_CHAR */
57    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 55 ADD_STRING */
58    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 56 ADD_VAR */
59    OPSPEC(    UNUSED,     UNUSED,     UNUSED,        TMP) /* 57 BEGIN_SILENCE */
60    OPSPEC(    UNUSED,        TMP,     UNUSED,     UNUSED) /* 58 END_SILENCE */
61    OPSPEC(INIT_FCALL,        STD,        STD,     UNUSED) /* 59 INIT_FCALL_BY_NAME */
62    OPSPEC(     FCALL,        STD,     OPLINE,        VAR) /* 60 DO_FCALL */
63    OPSPEC(     FCALL,        STD,     OPLINE,        VAR) /* 61 DO_FCALL_BY_NAME */
64    OPSPEC(    UNUSED,        STD,     UNUSED,     UNUSED) /* 62 RETURN */
65    OPSPEC(    UNUSED,        ARG,     UNUSED,        VAR) /* 63 RECV */
66    OPSPEC(    UNUSED,        ARG,        STD,        VAR) /* 64 RECV_INIT */
67    OPSPEC(      SEND,        STD,        ARG,     UNUSED) /* 65 SEND_VAL */
68    OPSPEC(      SEND,        VAR,        ARG,     UNUSED) /* 66 SEND_VAR */
69    OPSPEC(      SEND,        VAR,        ARG,     UNUSED) /* 67 SEND_REF */
70    OPSPEC(    UNUSED,      CLASS,     UNUSED,        VAR) /* 68 NEW */
71#ifdef ZEND_ENGINE_2_3
72    OPSPEC(       STD,        STD,        STD,        STD) /* 69 INIT_NS_FCALL_BY_NAME */
73#else
74    OPSPEC(    UNUSED,        STD,     OPLINE,     UNUSED) /* 69 JMP_NO_CTOR */
75#endif
76    OPSPEC(    UNUSED,        TMP,     UNUSED,     UNUSED) /* 70 FREE */
77    OPSPEC(       BIT,        STD,        STD,        TMP) /* 71 INIT_ARRAY */
78    OPSPEC(       BIT,        STD,        STD,        TMP) /* 72 ADD_ARRAY_ELEMENT */
79    OPSPEC(    UNUSED,        STD,    INCLUDE,        VAR) /* 73 INCLUDE_OR_EVAL */
80    OPSPEC(    UNUSED,        STD,      FETCH,     UNUSED) /* 74 UNSET_VAR */
81    OPSPEC(       STD,        STD,        STD,     UNUSED) /* 75 UNSET_DIM */
82    OPSPEC(       STD,        STD,        STD,     UNUSED) /* 76 UNSET_OBJ */
83    OPSPEC(       BIT,        STD,     OPLINE,        VAR) /* 77 FE_RESET */
84    OPSPEC(        FE,        STD,     OPLINE,        TMP) /* 78 FE_FETCH */
85    OPSPEC(    UNUSED,        STD,     UNUSED,     UNUSED) /* 79 EXIT */
86    OPSPEC(    UNUSED,        STD,      FETCH,        VAR) /* 80 FETCH_R */
87    OPSPEC(     FETCH,        VAR,        STD,        VAR) /* 81 FETCH_DIM_R */
88    OPSPEC(    UNUSED,      VAR_2,        STD,        VAR) /* 82 FETCH_OBJ_R */
89    OPSPEC(    UNUSED,        STD,      FETCH,        VAR) /* 83 FETCH_W */
90    OPSPEC(    UNUSED,        VAR,        STD,        VAR) /* 84 FETCH_DIM_W */
91    OPSPEC(    UNUSED,      VAR_2,        STD,        VAR) /* 85 FETCH_OBJ_W */
92    OPSPEC(    UNUSED,        STD,      FETCH,        VAR) /* 86 FETCH_RW */
93    OPSPEC(    UNUSED,        VAR,        STD,        VAR) /* 87 FETCH_DIM_RW */
94    OPSPEC(    UNUSED,      VAR_2,        STD,        VAR) /* 88 FETCH_OBJ_RW */
95    OPSPEC(    UNUSED,        STD,      FETCH,        VAR) /* 89 FETCH_IS */
96    OPSPEC(    UNUSED,        VAR,        STD,        VAR) /* 90 FETCH_DIM_IS */
97    OPSPEC(    UNUSED,      VAR_2,        STD,        VAR) /* 91 FETCH_OBJ_IS */
98    OPSPEC(       ARG,        STD,      FETCH,        VAR) /* 92 FETCH_FUNC_ARG */
99    OPSPEC(       ARG,        VAR,        STD,        VAR) /* 93 FETCH_DIM_FUNC_ARG */
100    OPSPEC(       ARG,      VAR_2,        STD,        VAR) /* 94 FETCH_OBJ_FUNC_ARG */
101    OPSPEC(    UNUSED,        STD,      FETCH,        VAR) /* 95 FETCH_UNSET */
102    OPSPEC(    UNUSED,        VAR,        STD,        VAR) /* 96 FETCH_DIM_UNSET */
103    OPSPEC(    UNUSED,      VAR_2,        STD,        VAR) /* 97 FETCH_OBJ_UNSET */
104    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 98 FETCH_DIM_TMP_VAR */
105    OPSPEC(    UNUSED,     UCLASS,        STD,        TMP) /* 99 FETCH_CONSTANT */
106    OPSPEC(    UNUSED,        STD,     UNUSED,        TMP) /* 99 FETCH_CONSTANT */
107    OPSPEC(   DECLARE,        STD,        STD,     UNUSED) /* 100 DECLARE_FUNCTION_OR_CLASS */
108    OPSPEC(    STMT",,        STD,        STD,        STD) /* 101 EXT_STMT */
109    OPSPEC(FCALL_BEGIN",,        STD,        STD,        STD) /* 102 EXT_FCALL_BEGIN */
110    OPSPEC(FCALL_END",,        STD,        STD,        STD) /* 103 EXT_FCALL_END */
111    OPSPEC(     NOP",,     UNUSED,     UNUSED,     UNUSED) /* 104 EXT_NOP */
112    OPSPEC(    UNUSED,        STD,     UNUSED,     UNUSED) /* 105 TICKS */
113    OPSPEC(SEND_NOREF,        VAR,        ARG,     UNUSED) /* 106 SEND_VAR_NO_REF */
114    OPSPEC(    OPLINE,      CLASS,        STD,     UNUSED) /* 107 CATCH */
115    OPSPEC(    UNUSED,        STD,     OPLINE,     UNUSED) /* 108 THROW */
116    OPSPEC(    FCLASS,        STD,        STD,      CLASS) /* 109 FETCH_CLASS */
117    OPSPEC(    UNUSED,        STD,     UNUSED,        VAR) /* 110 CLONE */
118    OPSPEC(    UNUSED,        STD,     UNUSED,     UNUSED) /* 111 INIT_CTOR_CALL */
119    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 112 INIT_METHOD_CALL */
120    OPSPEC(    UNUSED,     UCLASS,        STD,     UNUSED) /* 113 INIT_STATIC_METHOD_CALL */
121    OPSPEC(     ISSET,        STD,      FETCH,        TMP) /* 114 ISSET_ISEMPTY_VAR */
122    OPSPEC(     ISSET,        STD,        STD,        TMP) /* 115 ISSET_ISEMPTY_DIM_OBJ */
123    OPSPEC(    UNUSED,      CLASS,        STD,     UNUSED) /* 116 IMPORT_FUNCTION */
124    OPSPEC(    UNUSED,      CLASS,        STD,     UNUSED) /* 117 IMPORT_CLASS */
125    OPSPEC(    UNUSED,      CLASS,        STD,     UNUSED) /* 118 IMPORT_CONST */
126    OPSPEC(       STD,        STD,        STD,        STD) /* 119 OP_119 */
127    OPSPEC(       STD,        STD,        STD,        STD) /* 120 OP_120 */
128    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 121 ASSIGN_ADD_OBJ */
129    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 122 ASSIGN_SUB_OBJ */
130    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 123 ASSIGN_MUL_OBJ */
131    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 124 ASSIGN_DIV_OBJ */
132    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 125 ASSIGN_MOD_OBJ */
133    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 126 ASSIGN_SL_OBJ */
134    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 127 ASSIGN_SR_OBJ */
135    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 128 ASSIGN_CONCAT_OBJ */
136    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 129 ASSIGN_BW_OR_OBJ */
137    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 130 ASSIGN_BW_AND_OBJ */
138    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 131 ASSIGN_BW_XOR_OBJ */
139    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 132 PRE_INC_OBJ */
140    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 133 PRE_DEC_OBJ */
141    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 134 POST_INC_OBJ */
142    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 135 POST_DEC_OBJ */
143    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 136 ASSIGN_OBJ */
144    OPSPEC(    UNUSED,        STD,        STD,        STD) /* 137 OP_DATA */
145    OPSPEC(    UNUSED,        STD,      CLASS,        TMP) /* 138 INSTANCEOF */
146    OPSPEC(    UNUSED,        STD,        STD,      CLASS) /* 139 DECLARE_CLASS */
147    OPSPEC(     CLASS,        STD,        STD,      CLASS) /* 140 DECLARE_INHERITED_CLASS */
148    OPSPEC(    UNUSED,        STD,        STD,     UNUSED) /* 141 DECLARE_FUNCTION */
149    OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 142 RAISE_ABSTRACT_ERROR */
150#ifdef ZEND_ENGINE_2_3
151    OPSPEC(   DECLARE,        STD,        STD,     UNUSED) /* 143 DECLARE_CONST */
152#else
153    OPSPEC(    UNUSED,        STD,     UNUSED,     UNUSED) /* 143 START_NAMESPACE */
154#endif
155    OPSPEC(     IFACE,      CLASS,      CLASS,     UNUSED) /* 144 ADD_INTERFACE */
156    OPSPEC(    UNUSED,      CLASS,        STD,     UNUSED) /* 145 VERIFY_INSTANCEOF */
157    OPSPEC(    UNUSED,      CLASS,     UNUSED,     UNUSED) /* 146 VERIFY_ABSTRACT_CLASS */
158    OPSPEC(    UNUSED,        STD,        STD,        VAR) /* 147 ASSIGN_DIM */
159    OPSPEC(     ISSET,        STD,        STD,        TMP) /* 148 ISSET_ISEMPTY_PROP_OBJ */
160    OPSPEC(       STD,     UNUSED,     UNUSED,        STD) /* 149 HANDLE_EXCEPTION */
161# ifdef ZEND_ENGINE_2_3
162    OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 151 UNDEF */
163    OPSPEC(    UNUSED,        STD,    JMPADDR,     UNUSED) /* 152 JMP_SET */
164# endif
165};
Note: See TracBrowser for help on using the repository browser.