blob: e82959be086455f7487f092820f1de0a1dbf777b [file] [log] [blame]
Antoine Pitroub52ec782009-01-25 16:34:23 +00001static void *opcode_targets[256] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +00002 &&_unknown_opcode,
3 &&TARGET_POP_TOP,
4 &&TARGET_ROT_TWO,
5 &&TARGET_ROT_THREE,
6 &&TARGET_DUP_TOP,
Antoine Pitrou74a69fa2010-09-04 18:43:52 +00007 &&TARGET_DUP_TOP_TWO,
Serhiy Storchaka520b7ae2018-02-22 23:33:30 +02008 &&TARGET_ROT_FOUR,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +00009 &&_unknown_opcode,
10 &&_unknown_opcode,
11 &&TARGET_NOP,
12 &&TARGET_UNARY_POSITIVE,
13 &&TARGET_UNARY_NEGATIVE,
14 &&TARGET_UNARY_NOT,
15 &&_unknown_opcode,
16 &&_unknown_opcode,
17 &&TARGET_UNARY_INVERT,
Benjamin Petersond51374e2014-04-09 23:55:56 -040018 &&TARGET_BINARY_MATRIX_MULTIPLY,
19 &&TARGET_INPLACE_MATRIX_MULTIPLY,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000020 &&_unknown_opcode,
21 &&TARGET_BINARY_POWER,
22 &&TARGET_BINARY_MULTIPLY,
23 &&_unknown_opcode,
24 &&TARGET_BINARY_MODULO,
25 &&TARGET_BINARY_ADD,
26 &&TARGET_BINARY_SUBTRACT,
27 &&TARGET_BINARY_SUBSCR,
28 &&TARGET_BINARY_FLOOR_DIVIDE,
29 &&TARGET_BINARY_TRUE_DIVIDE,
30 &&TARGET_INPLACE_FLOOR_DIVIDE,
31 &&TARGET_INPLACE_TRUE_DIVIDE,
32 &&_unknown_opcode,
33 &&_unknown_opcode,
34 &&_unknown_opcode,
35 &&_unknown_opcode,
36 &&_unknown_opcode,
37 &&_unknown_opcode,
38 &&_unknown_opcode,
39 &&_unknown_opcode,
40 &&_unknown_opcode,
41 &&_unknown_opcode,
42 &&_unknown_opcode,
43 &&_unknown_opcode,
44 &&_unknown_opcode,
45 &&_unknown_opcode,
46 &&_unknown_opcode,
47 &&_unknown_opcode,
48 &&_unknown_opcode,
49 &&_unknown_opcode,
50 &&_unknown_opcode,
51 &&_unknown_opcode,
Yury Selivanov75445082015-05-11 22:57:16 -040052 &&TARGET_GET_AITER,
53 &&TARGET_GET_ANEXT,
54 &&TARGET_BEFORE_ASYNC_WITH,
Serhiy Storchaka520b7ae2018-02-22 23:33:30 +020055 &&TARGET_BEGIN_FINALLY,
Serhiy Storchaka702f8f32018-03-23 14:34:35 +020056 &&TARGET_END_ASYNC_FOR,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000057 &&TARGET_INPLACE_ADD,
58 &&TARGET_INPLACE_SUBTRACT,
59 &&TARGET_INPLACE_MULTIPLY,
60 &&_unknown_opcode,
61 &&TARGET_INPLACE_MODULO,
62 &&TARGET_STORE_SUBSCR,
63 &&TARGET_DELETE_SUBSCR,
64 &&TARGET_BINARY_LSHIFT,
65 &&TARGET_BINARY_RSHIFT,
66 &&TARGET_BINARY_AND,
67 &&TARGET_BINARY_XOR,
68 &&TARGET_BINARY_OR,
69 &&TARGET_INPLACE_POWER,
70 &&TARGET_GET_ITER,
Yury Selivanov5376ba92015-06-22 12:19:30 -040071 &&TARGET_GET_YIELD_FROM_ITER,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000072 &&TARGET_PRINT_EXPR,
73 &&TARGET_LOAD_BUILD_CLASS,
Nick Coghlan1f7ce622012-01-13 21:43:40 +100074 &&TARGET_YIELD_FROM,
Yury Selivanov75445082015-05-11 22:57:16 -040075 &&TARGET_GET_AWAITABLE,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000076 &&_unknown_opcode,
77 &&TARGET_INPLACE_LSHIFT,
78 &&TARGET_INPLACE_RSHIFT,
79 &&TARGET_INPLACE_AND,
80 &&TARGET_INPLACE_XOR,
81 &&TARGET_INPLACE_OR,
Serhiy Storchaka520b7ae2018-02-22 23:33:30 +020082 &&_unknown_opcode,
Yury Selivanov75445082015-05-11 22:57:16 -040083 &&TARGET_WITH_CLEANUP_START,
84 &&TARGET_WITH_CLEANUP_FINISH,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000085 &&TARGET_RETURN_VALUE,
86 &&TARGET_IMPORT_STAR,
Yury Selivanovf8cb8a12016-09-08 20:50:03 -070087 &&TARGET_SETUP_ANNOTATIONS,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000088 &&TARGET_YIELD_VALUE,
89 &&TARGET_POP_BLOCK,
90 &&TARGET_END_FINALLY,
91 &&TARGET_POP_EXCEPT,
92 &&TARGET_STORE_NAME,
93 &&TARGET_DELETE_NAME,
94 &&TARGET_UNPACK_SEQUENCE,
95 &&TARGET_FOR_ITER,
96 &&TARGET_UNPACK_EX,
97 &&TARGET_STORE_ATTR,
98 &&TARGET_DELETE_ATTR,
99 &&TARGET_STORE_GLOBAL,
100 &&TARGET_DELETE_GLOBAL,
Antoine Pitrou74a69fa2010-09-04 18:43:52 +0000101 &&_unknown_opcode,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000102 &&TARGET_LOAD_CONST,
103 &&TARGET_LOAD_NAME,
104 &&TARGET_BUILD_TUPLE,
105 &&TARGET_BUILD_LIST,
106 &&TARGET_BUILD_SET,
107 &&TARGET_BUILD_MAP,
108 &&TARGET_LOAD_ATTR,
109 &&TARGET_COMPARE_OP,
110 &&TARGET_IMPORT_NAME,
111 &&TARGET_IMPORT_FROM,
112 &&TARGET_JUMP_FORWARD,
113 &&TARGET_JUMP_IF_FALSE_OR_POP,
114 &&TARGET_JUMP_IF_TRUE_OR_POP,
115 &&TARGET_JUMP_ABSOLUTE,
116 &&TARGET_POP_JUMP_IF_FALSE,
117 &&TARGET_POP_JUMP_IF_TRUE,
118 &&TARGET_LOAD_GLOBAL,
119 &&_unknown_opcode,
120 &&_unknown_opcode,
Serhiy Storchaka520b7ae2018-02-22 23:33:30 +0200121 &&_unknown_opcode,
122 &&_unknown_opcode,
123 &&_unknown_opcode,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000124 &&TARGET_SETUP_FINALLY,
125 &&_unknown_opcode,
126 &&TARGET_LOAD_FAST,
127 &&TARGET_STORE_FAST,
128 &&TARGET_DELETE_FAST,
Mark Shannon332cd5e2018-01-30 00:41:04 +0000129 &&_unknown_opcode,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000130 &&_unknown_opcode,
131 &&_unknown_opcode,
132 &&TARGET_RAISE_VARARGS,
133 &&TARGET_CALL_FUNCTION,
134 &&TARGET_MAKE_FUNCTION,
135 &&TARGET_BUILD_SLICE,
Serhiy Storchaka64204de2016-06-12 17:36:24 +0300136 &&_unknown_opcode,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000137 &&TARGET_LOAD_CLOSURE,
138 &&TARGET_LOAD_DEREF,
139 &&TARGET_STORE_DEREF,
Amaury Forgeot d'Arcba117ef2010-09-10 21:39:53 +0000140 &&TARGET_DELETE_DEREF,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000141 &&_unknown_opcode,
Victor Stinnerf9b760f2016-09-09 10:17:08 -0700142 &&_unknown_opcode,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000143 &&TARGET_CALL_FUNCTION_KW,
Victor Stinnerf9b760f2016-09-09 10:17:08 -0700144 &&TARGET_CALL_FUNCTION_EX,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000145 &&TARGET_SETUP_WITH,
146 &&TARGET_EXTENDED_ARG,
147 &&TARGET_LIST_APPEND,
148 &&TARGET_SET_ADD,
149 &&TARGET_MAP_ADD,
Benjamin Peterson3b0431d2013-04-30 09:41:40 -0400150 &&TARGET_LOAD_CLASSDEREF,
Benjamin Peterson025e9eb2015-05-05 20:16:41 -0400151 &&TARGET_BUILD_LIST_UNPACK,
152 &&TARGET_BUILD_MAP_UNPACK,
153 &&TARGET_BUILD_MAP_UNPACK_WITH_CALL,
154 &&TARGET_BUILD_TUPLE_UNPACK,
155 &&TARGET_BUILD_SET_UNPACK,
Yury Selivanov75445082015-05-11 22:57:16 -0400156 &&TARGET_SETUP_ASYNC_WITH,
Eric V. Smitha78c7952015-11-03 12:45:05 -0500157 &&TARGET_FORMAT_VALUE,
Serhiy Storchaka6a7506a2016-06-12 00:39:41 +0300158 &&TARGET_BUILD_CONST_KEY_MAP,
Serhiy Storchakaea525a22016-09-06 22:07:53 +0300159 &&TARGET_BUILD_STRING,
Serhiy Storchaka73442852016-10-02 10:33:46 +0300160 &&TARGET_BUILD_TUPLE_UNPACK_WITH_CALL,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000161 &&_unknown_opcode,
Yury Selivanovf2392132016-12-13 19:03:51 -0500162 &&TARGET_LOAD_METHOD,
163 &&TARGET_CALL_METHOD,
Serhiy Storchaka520b7ae2018-02-22 23:33:30 +0200164 &&TARGET_CALL_FINALLY,
165 &&TARGET_POP_FINALLY,
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000166 &&_unknown_opcode,
167 &&_unknown_opcode,
168 &&_unknown_opcode,
169 &&_unknown_opcode,
170 &&_unknown_opcode,
171 &&_unknown_opcode,
172 &&_unknown_opcode,
173 &&_unknown_opcode,
174 &&_unknown_opcode,
175 &&_unknown_opcode,
176 &&_unknown_opcode,
177 &&_unknown_opcode,
178 &&_unknown_opcode,
179 &&_unknown_opcode,
180 &&_unknown_opcode,
181 &&_unknown_opcode,
182 &&_unknown_opcode,
183 &&_unknown_opcode,
184 &&_unknown_opcode,
185 &&_unknown_opcode,
186 &&_unknown_opcode,
187 &&_unknown_opcode,
188 &&_unknown_opcode,
189 &&_unknown_opcode,
190 &&_unknown_opcode,
191 &&_unknown_opcode,
192 &&_unknown_opcode,
193 &&_unknown_opcode,
194 &&_unknown_opcode,
195 &&_unknown_opcode,
196 &&_unknown_opcode,
197 &&_unknown_opcode,
198 &&_unknown_opcode,
199 &&_unknown_opcode,
200 &&_unknown_opcode,
201 &&_unknown_opcode,
202 &&_unknown_opcode,
203 &&_unknown_opcode,
204 &&_unknown_opcode,
205 &&_unknown_opcode,
206 &&_unknown_opcode,
207 &&_unknown_opcode,
208 &&_unknown_opcode,
209 &&_unknown_opcode,
210 &&_unknown_opcode,
211 &&_unknown_opcode,
212 &&_unknown_opcode,
213 &&_unknown_opcode,
214 &&_unknown_opcode,
215 &&_unknown_opcode,
216 &&_unknown_opcode,
217 &&_unknown_opcode,
218 &&_unknown_opcode,
219 &&_unknown_opcode,
220 &&_unknown_opcode,
221 &&_unknown_opcode,
222 &&_unknown_opcode,
223 &&_unknown_opcode,
224 &&_unknown_opcode,
225 &&_unknown_opcode,
226 &&_unknown_opcode,
227 &&_unknown_opcode,
228 &&_unknown_opcode,
229 &&_unknown_opcode,
230 &&_unknown_opcode,
231 &&_unknown_opcode,
232 &&_unknown_opcode,
233 &&_unknown_opcode,
234 &&_unknown_opcode,
235 &&_unknown_opcode,
236 &&_unknown_opcode,
237 &&_unknown_opcode,
238 &&_unknown_opcode,
239 &&_unknown_opcode,
240 &&_unknown_opcode,
241 &&_unknown_opcode,
242 &&_unknown_opcode,
243 &&_unknown_opcode,
244 &&_unknown_opcode,
245 &&_unknown_opcode,
246 &&_unknown_opcode,
247 &&_unknown_opcode,
248 &&_unknown_opcode,
249 &&_unknown_opcode,
250 &&_unknown_opcode,
251 &&_unknown_opcode,
252 &&_unknown_opcode,
253 &&_unknown_opcode,
254 &&_unknown_opcode,
255 &&_unknown_opcode,
256 &&_unknown_opcode,
257 &&_unknown_opcode
Antoine Pitroub52ec782009-01-25 16:34:23 +0000258};