This source file includes following definitions.
- zend_get_opcode_name
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include <stdio.h>
22 #include <zend.h>
23
24 const char *zend_vm_opcodes_map[168] = {
25 "ZEND_NOP",
26 "ZEND_ADD",
27 "ZEND_SUB",
28 "ZEND_MUL",
29 "ZEND_DIV",
30 "ZEND_MOD",
31 "ZEND_SL",
32 "ZEND_SR",
33 "ZEND_CONCAT",
34 "ZEND_BW_OR",
35 "ZEND_BW_AND",
36 "ZEND_BW_XOR",
37 "ZEND_BW_NOT",
38 "ZEND_BOOL_NOT",
39 "ZEND_BOOL_XOR",
40 "ZEND_IS_IDENTICAL",
41 "ZEND_IS_NOT_IDENTICAL",
42 "ZEND_IS_EQUAL",
43 "ZEND_IS_NOT_EQUAL",
44 "ZEND_IS_SMALLER",
45 "ZEND_IS_SMALLER_OR_EQUAL",
46 "ZEND_CAST",
47 "ZEND_QM_ASSIGN",
48 "ZEND_ASSIGN_ADD",
49 "ZEND_ASSIGN_SUB",
50 "ZEND_ASSIGN_MUL",
51 "ZEND_ASSIGN_DIV",
52 "ZEND_ASSIGN_MOD",
53 "ZEND_ASSIGN_SL",
54 "ZEND_ASSIGN_SR",
55 "ZEND_ASSIGN_CONCAT",
56 "ZEND_ASSIGN_BW_OR",
57 "ZEND_ASSIGN_BW_AND",
58 "ZEND_ASSIGN_BW_XOR",
59 "ZEND_PRE_INC",
60 "ZEND_PRE_DEC",
61 "ZEND_POST_INC",
62 "ZEND_POST_DEC",
63 "ZEND_ASSIGN",
64 "ZEND_ASSIGN_REF",
65 "ZEND_ECHO",
66 "ZEND_PRINT",
67 "ZEND_JMP",
68 "ZEND_JMPZ",
69 "ZEND_JMPNZ",
70 "ZEND_JMPZNZ",
71 "ZEND_JMPZ_EX",
72 "ZEND_JMPNZ_EX",
73 "ZEND_CASE",
74 "ZEND_SWITCH_FREE",
75 "ZEND_BRK",
76 "ZEND_CONT",
77 "ZEND_BOOL",
78 "ZEND_INIT_STRING",
79 "ZEND_ADD_CHAR",
80 "ZEND_ADD_STRING",
81 "ZEND_ADD_VAR",
82 "ZEND_BEGIN_SILENCE",
83 "ZEND_END_SILENCE",
84 "ZEND_INIT_FCALL_BY_NAME",
85 "ZEND_DO_FCALL",
86 "ZEND_DO_FCALL_BY_NAME",
87 "ZEND_RETURN",
88 "ZEND_RECV",
89 "ZEND_RECV_INIT",
90 "ZEND_SEND_VAL",
91 "ZEND_SEND_VAR",
92 "ZEND_SEND_REF",
93 "ZEND_NEW",
94 "ZEND_INIT_NS_FCALL_BY_NAME",
95 "ZEND_FREE",
96 "ZEND_INIT_ARRAY",
97 "ZEND_ADD_ARRAY_ELEMENT",
98 "ZEND_INCLUDE_OR_EVAL",
99 "ZEND_UNSET_VAR",
100 "ZEND_UNSET_DIM",
101 "ZEND_UNSET_OBJ",
102 "ZEND_FE_RESET",
103 "ZEND_FE_FETCH",
104 "ZEND_EXIT",
105 "ZEND_FETCH_R",
106 "ZEND_FETCH_DIM_R",
107 "ZEND_FETCH_OBJ_R",
108 "ZEND_FETCH_W",
109 "ZEND_FETCH_DIM_W",
110 "ZEND_FETCH_OBJ_W",
111 "ZEND_FETCH_RW",
112 "ZEND_FETCH_DIM_RW",
113 "ZEND_FETCH_OBJ_RW",
114 "ZEND_FETCH_IS",
115 "ZEND_FETCH_DIM_IS",
116 "ZEND_FETCH_OBJ_IS",
117 "ZEND_FETCH_FUNC_ARG",
118 "ZEND_FETCH_DIM_FUNC_ARG",
119 "ZEND_FETCH_OBJ_FUNC_ARG",
120 "ZEND_FETCH_UNSET",
121 "ZEND_FETCH_DIM_UNSET",
122 "ZEND_FETCH_OBJ_UNSET",
123 "ZEND_FETCH_DIM_TMP_VAR",
124 "ZEND_FETCH_CONSTANT",
125 "ZEND_GOTO",
126 "ZEND_EXT_STMT",
127 "ZEND_EXT_FCALL_BEGIN",
128 "ZEND_EXT_FCALL_END",
129 "ZEND_EXT_NOP",
130 "ZEND_TICKS",
131 "ZEND_SEND_VAR_NO_REF",
132 "ZEND_CATCH",
133 "ZEND_THROW",
134 "ZEND_FETCH_CLASS",
135 "ZEND_CLONE",
136 "ZEND_RETURN_BY_REF",
137 "ZEND_INIT_METHOD_CALL",
138 "ZEND_INIT_STATIC_METHOD_CALL",
139 "ZEND_ISSET_ISEMPTY_VAR",
140 "ZEND_ISSET_ISEMPTY_DIM_OBJ",
141 NULL,
142 NULL,
143 NULL,
144 NULL,
145 NULL,
146 NULL,
147 NULL,
148 NULL,
149 NULL,
150 NULL,
151 NULL,
152 NULL,
153 NULL,
154 NULL,
155 NULL,
156 NULL,
157 "ZEND_PRE_INC_OBJ",
158 "ZEND_PRE_DEC_OBJ",
159 "ZEND_POST_INC_OBJ",
160 "ZEND_POST_DEC_OBJ",
161 "ZEND_ASSIGN_OBJ",
162 NULL,
163 "ZEND_INSTANCEOF",
164 "ZEND_DECLARE_CLASS",
165 "ZEND_DECLARE_INHERITED_CLASS",
166 "ZEND_DECLARE_FUNCTION",
167 "ZEND_RAISE_ABSTRACT_ERROR",
168 "ZEND_DECLARE_CONST",
169 "ZEND_ADD_INTERFACE",
170 "ZEND_DECLARE_INHERITED_CLASS_DELAYED",
171 "ZEND_VERIFY_ABSTRACT_CLASS",
172 "ZEND_ASSIGN_DIM",
173 "ZEND_ISSET_ISEMPTY_PROP_OBJ",
174 "ZEND_HANDLE_EXCEPTION",
175 "ZEND_USER_OPCODE",
176 NULL,
177 "ZEND_JMP_SET",
178 "ZEND_DECLARE_LAMBDA_FUNCTION",
179 "ZEND_ADD_TRAIT",
180 "ZEND_BIND_TRAITS",
181 "ZEND_SEPARATE",
182 "ZEND_QM_ASSIGN_VAR",
183 "ZEND_JMP_SET_VAR",
184 "ZEND_DISCARD_EXCEPTION",
185 "ZEND_YIELD",
186 "ZEND_GENERATOR_RETURN",
187 "ZEND_FAST_CALL",
188 "ZEND_FAST_RET",
189 "ZEND_RECV_VARIADIC",
190 "ZEND_SEND_UNPACK",
191 "ZEND_POW",
192 "ZEND_ASSIGN_POW",
193 };
194
195 ZEND_API const char* zend_get_opcode_name(zend_uchar opcode) {
196 return zend_vm_opcodes_map[opcode];
197 }