1 | // SHA1Hash: da39a3ee5e6b4b0d3255bfef95601890afd80709 |
2 | /* |
3 | * Copyright (C) 2019 Apple Inc. All rights reserved. |
4 | * |
5 | * Redistribution and use in source and binary forms, with or without |
6 | * modification, are permitted provided that the following conditions |
7 | * are met: |
8 | * |
9 | * 1. Redistributions of source code must retain the above copyright |
10 | * notice, this list of conditions and the following disclaimer. |
11 | * 2. Redistributions in binary form must reproduce the above copyright |
12 | * notice, this list of conditions and the following disclaimer in the |
13 | * documentation and/or other materials provided with the distribution. |
14 | * |
15 | * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY |
16 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
17 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
18 | * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
19 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
20 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
21 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
22 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
24 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
25 | |
26 | * Autogenerated from /home/ubuntu/webkit/Source/JavaScriptCore/bytecode/BytecodeList.rb, do not modify. |
27 | */ |
28 | |
29 | #pragma once |
30 | |
31 | #define FOR_EACH_BYTECODE_ID(macro) \ |
32 | macro(op_create_this, 5) \ |
33 | macro(op_get_argument, 4) \ |
34 | macro(op_to_this, 3) \ |
35 | macro(op_new_object, 4) \ |
36 | macro(op_new_array, 6) \ |
37 | macro(op_new_array_with_size, 4) \ |
38 | macro(op_new_array_buffer, 5) \ |
39 | macro(op_add, 6) \ |
40 | macro(op_mul, 6) \ |
41 | macro(op_div, 6) \ |
42 | macro(op_sub, 6) \ |
43 | macro(op_bitand, 5) \ |
44 | macro(op_bitor, 5) \ |
45 | macro(op_bitxor, 5) \ |
46 | macro(op_bitnot, 4) \ |
47 | macro(op_to_object, 5) \ |
48 | macro(op_to_number, 4) \ |
49 | macro(op_negate, 5) \ |
50 | macro(op_in_by_val, 5) \ |
51 | macro(op_get_by_id, 5) \ |
52 | macro(op_get_by_id_with_this, 6) \ |
53 | macro(op_get_by_val_with_this, 6) \ |
54 | macro(op_get_by_id_direct, 5) \ |
55 | macro(op_try_get_by_id, 5) \ |
56 | macro(op_put_by_id, 6) \ |
57 | macro(op_get_by_val, 5) \ |
58 | macro(op_put_by_val, 5) \ |
59 | macro(op_put_by_val_direct, 5) \ |
60 | macro(op_jneq_ptr, 5) \ |
61 | macro(op_call, 6) \ |
62 | macro(op_tail_call, 6) \ |
63 | macro(op_call_eval, 6) \ |
64 | macro(op_call_varargs, 8) \ |
65 | macro(op_tail_call_varargs, 8) \ |
66 | macro(op_tail_call_forward_arguments, 8) \ |
67 | macro(op_construct, 6) \ |
68 | macro(op_construct_varargs, 8) \ |
69 | macro(op_resolve_scope, 7) \ |
70 | macro(op_get_from_scope, 8) \ |
71 | macro(op_put_to_scope, 8) \ |
72 | macro(op_get_from_arguments, 5) \ |
73 | macro(op_catch, 4) \ |
74 | macro(op_profile_type, 7) \ |
75 | macro(op_profile_control_flow, 3) \ |
76 | macro(op_has_indexed_property, 5) \ |
77 | macro(op_get_direct_pname, 7) \ |
78 | macro(op_wide, 1) \ |
79 | macro(op_enter, 1) \ |
80 | macro(op_get_scope, 2) \ |
81 | macro(op_create_direct_arguments, 2) \ |
82 | macro(op_create_scoped_arguments, 3) \ |
83 | macro(op_create_cloned_arguments, 2) \ |
84 | macro(op_argument_count, 2) \ |
85 | macro(op_check_tdz, 2) \ |
86 | macro(op_new_array_with_spread, 5) \ |
87 | macro(op_spread, 3) \ |
88 | macro(op_new_regexp, 3) \ |
89 | macro(op_mov, 3) \ |
90 | macro(op_eq, 4) \ |
91 | macro(op_neq, 4) \ |
92 | macro(op_stricteq, 4) \ |
93 | macro(op_nstricteq, 4) \ |
94 | macro(op_less, 4) \ |
95 | macro(op_lesseq, 4) \ |
96 | macro(op_greater, 4) \ |
97 | macro(op_greatereq, 4) \ |
98 | macro(op_below, 4) \ |
99 | macro(op_beloweq, 4) \ |
100 | macro(op_mod, 4) \ |
101 | macro(op_pow, 4) \ |
102 | macro(op_lshift, 4) \ |
103 | macro(op_rshift, 4) \ |
104 | macro(op_urshift, 4) \ |
105 | macro(op_eq_null, 3) \ |
106 | macro(op_neq_null, 3) \ |
107 | macro(op_to_string, 3) \ |
108 | macro(op_unsigned, 3) \ |
109 | macro(op_is_empty, 3) \ |
110 | macro(op_is_undefined, 3) \ |
111 | macro(op_is_undefined_or_null, 3) \ |
112 | macro(op_is_boolean, 3) \ |
113 | macro(op_is_number, 3) \ |
114 | macro(op_is_object, 3) \ |
115 | macro(op_is_object_or_null, 3) \ |
116 | macro(op_is_function, 3) \ |
117 | macro(op_inc, 2) \ |
118 | macro(op_dec, 2) \ |
119 | macro(op_not, 3) \ |
120 | macro(op_identity_with_profile, 4) \ |
121 | macro(op_overrides_has_instance, 4) \ |
122 | macro(op_instanceof, 4) \ |
123 | macro(op_instanceof_custom, 5) \ |
124 | macro(op_typeof, 3) \ |
125 | macro(op_is_cell_with_type, 4) \ |
126 | macro(op_in_by_id, 4) \ |
127 | macro(op_put_by_id_with_this, 5) \ |
128 | macro(op_del_by_id, 4) \ |
129 | macro(op_put_by_val_with_this, 5) \ |
130 | macro(op_del_by_val, 4) \ |
131 | macro(op_put_getter_by_id, 5) \ |
132 | macro(op_put_setter_by_id, 5) \ |
133 | macro(op_put_getter_setter_by_id, 6) \ |
134 | macro(op_put_getter_by_val, 5) \ |
135 | macro(op_put_setter_by_val, 5) \ |
136 | macro(op_define_data_property, 5) \ |
137 | macro(op_define_accessor_property, 6) \ |
138 | macro(op_jmp, 2) \ |
139 | macro(op_jtrue, 3) \ |
140 | macro(op_jfalse, 3) \ |
141 | macro(op_jeq_null, 3) \ |
142 | macro(op_jneq_null, 3) \ |
143 | macro(op_jeq, 4) \ |
144 | macro(op_jstricteq, 4) \ |
145 | macro(op_jneq, 4) \ |
146 | macro(op_jnstricteq, 4) \ |
147 | macro(op_jless, 4) \ |
148 | macro(op_jlesseq, 4) \ |
149 | macro(op_jgreater, 4) \ |
150 | macro(op_jgreatereq, 4) \ |
151 | macro(op_jnless, 4) \ |
152 | macro(op_jnlesseq, 4) \ |
153 | macro(op_jngreater, 4) \ |
154 | macro(op_jngreatereq, 4) \ |
155 | macro(op_jbelow, 4) \ |
156 | macro(op_jbeloweq, 4) \ |
157 | macro(op_loop_hint, 1) \ |
158 | macro(op_switch_imm, 4) \ |
159 | macro(op_switch_char, 4) \ |
160 | macro(op_switch_string, 4) \ |
161 | macro(op_new_func, 4) \ |
162 | macro(op_new_func_exp, 4) \ |
163 | macro(op_new_generator_func, 4) \ |
164 | macro(op_new_generator_func_exp, 4) \ |
165 | macro(op_new_async_func, 4) \ |
166 | macro(op_new_async_func_exp, 4) \ |
167 | macro(op_new_async_generator_func, 4) \ |
168 | macro(op_new_async_generator_func_exp, 4) \ |
169 | macro(op_set_function_name, 3) \ |
170 | macro(op_ret, 2) \ |
171 | macro(op_strcat, 4) \ |
172 | macro(op_to_primitive, 3) \ |
173 | macro(op_put_to_arguments, 4) \ |
174 | macro(op_push_with_scope, 4) \ |
175 | macro(op_create_lexical_environment, 5) \ |
176 | macro(op_create_generator_frame_environment, 5) \ |
177 | macro(op_get_parent_scope, 3) \ |
178 | macro(op_throw, 2) \ |
179 | macro(op_throw_static_error, 3) \ |
180 | macro(op_debug, 3) \ |
181 | macro(op_end, 2) \ |
182 | macro(op_get_enumerable_length, 3) \ |
183 | macro(op_has_structure_property, 5) \ |
184 | macro(op_has_generic_property, 4) \ |
185 | macro(op_get_property_enumerator, 3) \ |
186 | macro(op_enumerator_structure_pname, 4) \ |
187 | macro(op_enumerator_generic_pname, 4) \ |
188 | macro(op_to_index_string, 3) \ |
189 | macro(op_unreachable, 1) \ |
190 | macro(op_create_rest, 4) \ |
191 | macro(op_get_rest_length, 3) \ |
192 | macro(op_yield, 4) \ |
193 | macro(op_check_traps, 1) \ |
194 | macro(op_log_shadow_chicken_prologue, 2) \ |
195 | macro(op_log_shadow_chicken_tail, 3) \ |
196 | macro(op_resolve_scope_for_hoisting_func_decl_in_eval, 4) \ |
197 | macro(op_nop, 1) \ |
198 | macro(op_super_sampler_begin, 1) \ |
199 | macro(op_super_sampler_end, 1) \ |
200 | |
201 | #define NUMBER_OF_BYTECODE_IDS 168 |
202 | #define FOR_EACH_BYTECODE_METADATA_SIZE(macro) \ |
203 | macro(sizeof(OpCreateThis::Metadata))\ |
204 | macro(sizeof(OpGetArgument::Metadata))\ |
205 | macro(sizeof(OpToThis::Metadata))\ |
206 | macro(sizeof(OpNewObject::Metadata))\ |
207 | macro(sizeof(OpNewArray::Metadata))\ |
208 | macro(sizeof(OpNewArrayWithSize::Metadata))\ |
209 | macro(sizeof(OpNewArrayBuffer::Metadata))\ |
210 | macro(sizeof(OpAdd::Metadata))\ |
211 | macro(sizeof(OpMul::Metadata))\ |
212 | macro(sizeof(OpDiv::Metadata))\ |
213 | macro(sizeof(OpSub::Metadata))\ |
214 | macro(sizeof(OpBitand::Metadata))\ |
215 | macro(sizeof(OpBitor::Metadata))\ |
216 | macro(sizeof(OpBitxor::Metadata))\ |
217 | macro(sizeof(OpBitnot::Metadata))\ |
218 | macro(sizeof(OpToObject::Metadata))\ |
219 | macro(sizeof(OpToNumber::Metadata))\ |
220 | macro(sizeof(OpNegate::Metadata))\ |
221 | macro(sizeof(OpInByVal::Metadata))\ |
222 | macro(sizeof(OpGetById::Metadata))\ |
223 | macro(sizeof(OpGetByIdWithThis::Metadata))\ |
224 | macro(sizeof(OpGetByValWithThis::Metadata))\ |
225 | macro(sizeof(OpGetByIdDirect::Metadata))\ |
226 | macro(sizeof(OpTryGetById::Metadata))\ |
227 | macro(sizeof(OpPutById::Metadata))\ |
228 | macro(sizeof(OpGetByVal::Metadata))\ |
229 | macro(sizeof(OpPutByVal::Metadata))\ |
230 | macro(sizeof(OpPutByValDirect::Metadata))\ |
231 | macro(sizeof(OpJneqPtr::Metadata))\ |
232 | macro(sizeof(OpCall::Metadata))\ |
233 | macro(sizeof(OpTailCall::Metadata))\ |
234 | macro(sizeof(OpCallEval::Metadata))\ |
235 | macro(sizeof(OpCallVarargs::Metadata))\ |
236 | macro(sizeof(OpTailCallVarargs::Metadata))\ |
237 | macro(sizeof(OpTailCallForwardArguments::Metadata))\ |
238 | macro(sizeof(OpConstruct::Metadata))\ |
239 | macro(sizeof(OpConstructVarargs::Metadata))\ |
240 | macro(sizeof(OpResolveScope::Metadata))\ |
241 | macro(sizeof(OpGetFromScope::Metadata))\ |
242 | macro(sizeof(OpPutToScope::Metadata))\ |
243 | macro(sizeof(OpGetFromArguments::Metadata))\ |
244 | macro(sizeof(OpCatch::Metadata))\ |
245 | macro(sizeof(OpProfileType::Metadata))\ |
246 | macro(sizeof(OpProfileControlFlow::Metadata))\ |
247 | macro(sizeof(OpHasIndexedProperty::Metadata))\ |
248 | macro(sizeof(OpGetDirectPname::Metadata))\ |
249 | |
250 | #define NUMBER_OF_BYTECODE_WITH_METADATA 46 |
251 | |
252 | #define FOR_EACH_BYTECODE_METADATA_ALIGNMENT(macro) \ |
253 | macro(alignof(OpCreateThis::Metadata))\ |
254 | macro(alignof(OpGetArgument::Metadata))\ |
255 | macro(alignof(OpToThis::Metadata))\ |
256 | macro(alignof(OpNewObject::Metadata))\ |
257 | macro(alignof(OpNewArray::Metadata))\ |
258 | macro(alignof(OpNewArrayWithSize::Metadata))\ |
259 | macro(alignof(OpNewArrayBuffer::Metadata))\ |
260 | macro(alignof(OpAdd::Metadata))\ |
261 | macro(alignof(OpMul::Metadata))\ |
262 | macro(alignof(OpDiv::Metadata))\ |
263 | macro(alignof(OpSub::Metadata))\ |
264 | macro(alignof(OpBitand::Metadata))\ |
265 | macro(alignof(OpBitor::Metadata))\ |
266 | macro(alignof(OpBitxor::Metadata))\ |
267 | macro(alignof(OpBitnot::Metadata))\ |
268 | macro(alignof(OpToObject::Metadata))\ |
269 | macro(alignof(OpToNumber::Metadata))\ |
270 | macro(alignof(OpNegate::Metadata))\ |
271 | macro(alignof(OpInByVal::Metadata))\ |
272 | macro(alignof(OpGetById::Metadata))\ |
273 | macro(alignof(OpGetByIdWithThis::Metadata))\ |
274 | macro(alignof(OpGetByValWithThis::Metadata))\ |
275 | macro(alignof(OpGetByIdDirect::Metadata))\ |
276 | macro(alignof(OpTryGetById::Metadata))\ |
277 | macro(alignof(OpPutById::Metadata))\ |
278 | macro(alignof(OpGetByVal::Metadata))\ |
279 | macro(alignof(OpPutByVal::Metadata))\ |
280 | macro(alignof(OpPutByValDirect::Metadata))\ |
281 | macro(alignof(OpJneqPtr::Metadata))\ |
282 | macro(alignof(OpCall::Metadata))\ |
283 | macro(alignof(OpTailCall::Metadata))\ |
284 | macro(alignof(OpCallEval::Metadata))\ |
285 | macro(alignof(OpCallVarargs::Metadata))\ |
286 | macro(alignof(OpTailCallVarargs::Metadata))\ |
287 | macro(alignof(OpTailCallForwardArguments::Metadata))\ |
288 | macro(alignof(OpConstruct::Metadata))\ |
289 | macro(alignof(OpConstructVarargs::Metadata))\ |
290 | macro(alignof(OpResolveScope::Metadata))\ |
291 | macro(alignof(OpGetFromScope::Metadata))\ |
292 | macro(alignof(OpPutToScope::Metadata))\ |
293 | macro(alignof(OpGetFromArguments::Metadata))\ |
294 | macro(alignof(OpCatch::Metadata))\ |
295 | macro(alignof(OpProfileType::Metadata))\ |
296 | macro(alignof(OpProfileControlFlow::Metadata))\ |
297 | macro(alignof(OpHasIndexedProperty::Metadata))\ |
298 | macro(alignof(OpGetDirectPname::Metadata))\ |
299 | |
300 | #define op_create_this_value_string "0" |
301 | #define op_get_argument_value_string "1" |
302 | #define op_to_this_value_string "2" |
303 | #define op_new_object_value_string "3" |
304 | #define op_new_array_value_string "4" |
305 | #define op_new_array_with_size_value_string "5" |
306 | #define op_new_array_buffer_value_string "6" |
307 | #define op_add_value_string "7" |
308 | #define op_mul_value_string "8" |
309 | #define op_div_value_string "9" |
310 | #define op_sub_value_string "10" |
311 | #define op_bitand_value_string "11" |
312 | #define op_bitor_value_string "12" |
313 | #define op_bitxor_value_string "13" |
314 | #define op_bitnot_value_string "14" |
315 | #define op_to_object_value_string "15" |
316 | #define op_to_number_value_string "16" |
317 | #define op_negate_value_string "17" |
318 | #define op_in_by_val_value_string "18" |
319 | #define op_get_by_id_value_string "19" |
320 | #define op_get_by_id_with_this_value_string "20" |
321 | #define op_get_by_val_with_this_value_string "21" |
322 | #define op_get_by_id_direct_value_string "22" |
323 | #define op_try_get_by_id_value_string "23" |
324 | #define op_put_by_id_value_string "24" |
325 | #define op_get_by_val_value_string "25" |
326 | #define op_put_by_val_value_string "26" |
327 | #define op_put_by_val_direct_value_string "27" |
328 | #define op_jneq_ptr_value_string "28" |
329 | #define op_call_value_string "29" |
330 | #define op_tail_call_value_string "30" |
331 | #define op_call_eval_value_string "31" |
332 | #define op_call_varargs_value_string "32" |
333 | #define op_tail_call_varargs_value_string "33" |
334 | #define op_tail_call_forward_arguments_value_string "34" |
335 | #define op_construct_value_string "35" |
336 | #define op_construct_varargs_value_string "36" |
337 | #define op_resolve_scope_value_string "37" |
338 | #define op_get_from_scope_value_string "38" |
339 | #define op_put_to_scope_value_string "39" |
340 | #define op_get_from_arguments_value_string "40" |
341 | #define op_catch_value_string "41" |
342 | #define op_profile_type_value_string "42" |
343 | #define op_profile_control_flow_value_string "43" |
344 | #define op_has_indexed_property_value_string "44" |
345 | #define op_get_direct_pname_value_string "45" |
346 | #define op_wide_value_string "46" |
347 | #define op_enter_value_string "47" |
348 | #define op_get_scope_value_string "48" |
349 | #define op_create_direct_arguments_value_string "49" |
350 | #define op_create_scoped_arguments_value_string "50" |
351 | #define op_create_cloned_arguments_value_string "51" |
352 | #define op_argument_count_value_string "52" |
353 | #define op_check_tdz_value_string "53" |
354 | #define op_new_array_with_spread_value_string "54" |
355 | #define op_spread_value_string "55" |
356 | #define op_new_regexp_value_string "56" |
357 | #define op_mov_value_string "57" |
358 | #define op_eq_value_string "58" |
359 | #define op_neq_value_string "59" |
360 | #define op_stricteq_value_string "60" |
361 | #define op_nstricteq_value_string "61" |
362 | #define op_less_value_string "62" |
363 | #define op_lesseq_value_string "63" |
364 | #define op_greater_value_string "64" |
365 | #define op_greatereq_value_string "65" |
366 | #define op_below_value_string "66" |
367 | #define op_beloweq_value_string "67" |
368 | #define op_mod_value_string "68" |
369 | #define op_pow_value_string "69" |
370 | #define op_lshift_value_string "70" |
371 | #define op_rshift_value_string "71" |
372 | #define op_urshift_value_string "72" |
373 | #define op_eq_null_value_string "73" |
374 | #define op_neq_null_value_string "74" |
375 | #define op_to_string_value_string "75" |
376 | #define op_unsigned_value_string "76" |
377 | #define op_is_empty_value_string "77" |
378 | #define op_is_undefined_value_string "78" |
379 | #define op_is_undefined_or_null_value_string "79" |
380 | #define op_is_boolean_value_string "80" |
381 | #define op_is_number_value_string "81" |
382 | #define op_is_object_value_string "82" |
383 | #define op_is_object_or_null_value_string "83" |
384 | #define op_is_function_value_string "84" |
385 | #define op_inc_value_string "85" |
386 | #define op_dec_value_string "86" |
387 | #define op_not_value_string "87" |
388 | #define op_identity_with_profile_value_string "88" |
389 | #define op_overrides_has_instance_value_string "89" |
390 | #define op_instanceof_value_string "90" |
391 | #define op_instanceof_custom_value_string "91" |
392 | #define op_typeof_value_string "92" |
393 | #define op_is_cell_with_type_value_string "93" |
394 | #define op_in_by_id_value_string "94" |
395 | #define op_put_by_id_with_this_value_string "95" |
396 | #define op_del_by_id_value_string "96" |
397 | #define op_put_by_val_with_this_value_string "97" |
398 | #define op_del_by_val_value_string "98" |
399 | #define op_put_getter_by_id_value_string "99" |
400 | #define op_put_setter_by_id_value_string "100" |
401 | #define op_put_getter_setter_by_id_value_string "101" |
402 | #define op_put_getter_by_val_value_string "102" |
403 | #define op_put_setter_by_val_value_string "103" |
404 | #define op_define_data_property_value_string "104" |
405 | #define op_define_accessor_property_value_string "105" |
406 | #define op_jmp_value_string "106" |
407 | #define op_jtrue_value_string "107" |
408 | #define op_jfalse_value_string "108" |
409 | #define op_jeq_null_value_string "109" |
410 | #define op_jneq_null_value_string "110" |
411 | #define op_jeq_value_string "111" |
412 | #define op_jstricteq_value_string "112" |
413 | #define op_jneq_value_string "113" |
414 | #define op_jnstricteq_value_string "114" |
415 | #define op_jless_value_string "115" |
416 | #define op_jlesseq_value_string "116" |
417 | #define op_jgreater_value_string "117" |
418 | #define op_jgreatereq_value_string "118" |
419 | #define op_jnless_value_string "119" |
420 | #define op_jnlesseq_value_string "120" |
421 | #define op_jngreater_value_string "121" |
422 | #define op_jngreatereq_value_string "122" |
423 | #define op_jbelow_value_string "123" |
424 | #define op_jbeloweq_value_string "124" |
425 | #define op_loop_hint_value_string "125" |
426 | #define op_switch_imm_value_string "126" |
427 | #define op_switch_char_value_string "127" |
428 | #define op_switch_string_value_string "128" |
429 | #define op_new_func_value_string "129" |
430 | #define op_new_func_exp_value_string "130" |
431 | #define op_new_generator_func_value_string "131" |
432 | #define op_new_generator_func_exp_value_string "132" |
433 | #define op_new_async_func_value_string "133" |
434 | #define op_new_async_func_exp_value_string "134" |
435 | #define op_new_async_generator_func_value_string "135" |
436 | #define op_new_async_generator_func_exp_value_string "136" |
437 | #define op_set_function_name_value_string "137" |
438 | #define op_ret_value_string "138" |
439 | #define op_strcat_value_string "139" |
440 | #define op_to_primitive_value_string "140" |
441 | #define op_put_to_arguments_value_string "141" |
442 | #define op_push_with_scope_value_string "142" |
443 | #define op_create_lexical_environment_value_string "143" |
444 | #define op_create_generator_frame_environment_value_string "144" |
445 | #define op_get_parent_scope_value_string "145" |
446 | #define op_throw_value_string "146" |
447 | #define op_throw_static_error_value_string "147" |
448 | #define op_debug_value_string "148" |
449 | #define op_end_value_string "149" |
450 | #define op_get_enumerable_length_value_string "150" |
451 | #define op_has_structure_property_value_string "151" |
452 | #define op_has_generic_property_value_string "152" |
453 | #define op_get_property_enumerator_value_string "153" |
454 | #define op_enumerator_structure_pname_value_string "154" |
455 | #define op_enumerator_generic_pname_value_string "155" |
456 | #define op_to_index_string_value_string "156" |
457 | #define op_unreachable_value_string "157" |
458 | #define op_create_rest_value_string "158" |
459 | #define op_get_rest_length_value_string "159" |
460 | #define op_yield_value_string "160" |
461 | #define op_check_traps_value_string "161" |
462 | #define op_log_shadow_chicken_prologue_value_string "162" |
463 | #define op_log_shadow_chicken_tail_value_string "163" |
464 | #define op_resolve_scope_for_hoisting_func_decl_in_eval_value_string "164" |
465 | #define op_nop_value_string "165" |
466 | #define op_super_sampler_begin_value_string "166" |
467 | #define op_super_sampler_end_value_string "167" |
468 | #define op_create_this_wide_value_string "211" |
469 | #define op_get_argument_wide_value_string "212" |
470 | #define op_to_this_wide_value_string "213" |
471 | #define op_new_object_wide_value_string "214" |
472 | #define op_new_array_wide_value_string "215" |
473 | #define op_new_array_with_size_wide_value_string "216" |
474 | #define op_new_array_buffer_wide_value_string "217" |
475 | #define op_add_wide_value_string "218" |
476 | #define op_mul_wide_value_string "219" |
477 | #define op_div_wide_value_string "220" |
478 | #define op_sub_wide_value_string "221" |
479 | #define op_bitand_wide_value_string "222" |
480 | #define op_bitor_wide_value_string "223" |
481 | #define op_bitxor_wide_value_string "224" |
482 | #define op_bitnot_wide_value_string "225" |
483 | #define op_to_object_wide_value_string "226" |
484 | #define op_to_number_wide_value_string "227" |
485 | #define op_negate_wide_value_string "228" |
486 | #define op_in_by_val_wide_value_string "229" |
487 | #define op_get_by_id_wide_value_string "230" |
488 | #define op_get_by_id_with_this_wide_value_string "231" |
489 | #define op_get_by_val_with_this_wide_value_string "232" |
490 | #define op_get_by_id_direct_wide_value_string "233" |
491 | #define op_try_get_by_id_wide_value_string "234" |
492 | #define op_put_by_id_wide_value_string "235" |
493 | #define op_get_by_val_wide_value_string "236" |
494 | #define op_put_by_val_wide_value_string "237" |
495 | #define op_put_by_val_direct_wide_value_string "238" |
496 | #define op_jneq_ptr_wide_value_string "239" |
497 | #define op_call_wide_value_string "240" |
498 | #define op_tail_call_wide_value_string "241" |
499 | #define op_call_eval_wide_value_string "242" |
500 | #define op_call_varargs_wide_value_string "243" |
501 | #define op_tail_call_varargs_wide_value_string "244" |
502 | #define op_tail_call_forward_arguments_wide_value_string "245" |
503 | #define op_construct_wide_value_string "246" |
504 | #define op_construct_varargs_wide_value_string "247" |
505 | #define op_resolve_scope_wide_value_string "248" |
506 | #define op_get_from_scope_wide_value_string "249" |
507 | #define op_put_to_scope_wide_value_string "250" |
508 | #define op_get_from_arguments_wide_value_string "251" |
509 | #define op_catch_wide_value_string "252" |
510 | #define op_profile_type_wide_value_string "253" |
511 | #define op_profile_control_flow_wide_value_string "254" |
512 | #define op_has_indexed_property_wide_value_string "255" |
513 | #define op_get_direct_pname_wide_value_string "256" |
514 | #define op_wide_wide_value_string "257" |
515 | #define op_enter_wide_value_string "258" |
516 | #define op_get_scope_wide_value_string "259" |
517 | #define op_create_direct_arguments_wide_value_string "260" |
518 | #define op_create_scoped_arguments_wide_value_string "261" |
519 | #define op_create_cloned_arguments_wide_value_string "262" |
520 | #define op_argument_count_wide_value_string "263" |
521 | #define op_check_tdz_wide_value_string "264" |
522 | #define op_new_array_with_spread_wide_value_string "265" |
523 | #define op_spread_wide_value_string "266" |
524 | #define op_new_regexp_wide_value_string "267" |
525 | #define op_mov_wide_value_string "268" |
526 | #define op_eq_wide_value_string "269" |
527 | #define op_neq_wide_value_string "270" |
528 | #define op_stricteq_wide_value_string "271" |
529 | #define op_nstricteq_wide_value_string "272" |
530 | #define op_less_wide_value_string "273" |
531 | #define op_lesseq_wide_value_string "274" |
532 | #define op_greater_wide_value_string "275" |
533 | #define op_greatereq_wide_value_string "276" |
534 | #define op_below_wide_value_string "277" |
535 | #define op_beloweq_wide_value_string "278" |
536 | #define op_mod_wide_value_string "279" |
537 | #define op_pow_wide_value_string "280" |
538 | #define op_lshift_wide_value_string "281" |
539 | #define op_rshift_wide_value_string "282" |
540 | #define op_urshift_wide_value_string "283" |
541 | #define op_eq_null_wide_value_string "284" |
542 | #define op_neq_null_wide_value_string "285" |
543 | #define op_to_string_wide_value_string "286" |
544 | #define op_unsigned_wide_value_string "287" |
545 | #define op_is_empty_wide_value_string "288" |
546 | #define op_is_undefined_wide_value_string "289" |
547 | #define op_is_undefined_or_null_wide_value_string "290" |
548 | #define op_is_boolean_wide_value_string "291" |
549 | #define op_is_number_wide_value_string "292" |
550 | #define op_is_object_wide_value_string "293" |
551 | #define op_is_object_or_null_wide_value_string "294" |
552 | #define op_is_function_wide_value_string "295" |
553 | #define op_inc_wide_value_string "296" |
554 | #define op_dec_wide_value_string "297" |
555 | #define op_not_wide_value_string "298" |
556 | #define op_identity_with_profile_wide_value_string "299" |
557 | #define op_overrides_has_instance_wide_value_string "300" |
558 | #define op_instanceof_wide_value_string "301" |
559 | #define op_instanceof_custom_wide_value_string "302" |
560 | #define op_typeof_wide_value_string "303" |
561 | #define op_is_cell_with_type_wide_value_string "304" |
562 | #define op_in_by_id_wide_value_string "305" |
563 | #define op_put_by_id_with_this_wide_value_string "306" |
564 | #define op_del_by_id_wide_value_string "307" |
565 | #define op_put_by_val_with_this_wide_value_string "308" |
566 | #define op_del_by_val_wide_value_string "309" |
567 | #define op_put_getter_by_id_wide_value_string "310" |
568 | #define op_put_setter_by_id_wide_value_string "311" |
569 | #define op_put_getter_setter_by_id_wide_value_string "312" |
570 | #define op_put_getter_by_val_wide_value_string "313" |
571 | #define op_put_setter_by_val_wide_value_string "314" |
572 | #define op_define_data_property_wide_value_string "315" |
573 | #define op_define_accessor_property_wide_value_string "316" |
574 | #define op_jmp_wide_value_string "317" |
575 | #define op_jtrue_wide_value_string "318" |
576 | #define op_jfalse_wide_value_string "319" |
577 | #define op_jeq_null_wide_value_string "320" |
578 | #define op_jneq_null_wide_value_string "321" |
579 | #define op_jeq_wide_value_string "322" |
580 | #define op_jstricteq_wide_value_string "323" |
581 | #define op_jneq_wide_value_string "324" |
582 | #define op_jnstricteq_wide_value_string "325" |
583 | #define op_jless_wide_value_string "326" |
584 | #define op_jlesseq_wide_value_string "327" |
585 | #define op_jgreater_wide_value_string "328" |
586 | #define op_jgreatereq_wide_value_string "329" |
587 | #define op_jnless_wide_value_string "330" |
588 | #define op_jnlesseq_wide_value_string "331" |
589 | #define op_jngreater_wide_value_string "332" |
590 | #define op_jngreatereq_wide_value_string "333" |
591 | #define op_jbelow_wide_value_string "334" |
592 | #define op_jbeloweq_wide_value_string "335" |
593 | #define op_loop_hint_wide_value_string "336" |
594 | #define op_switch_imm_wide_value_string "337" |
595 | #define op_switch_char_wide_value_string "338" |
596 | #define op_switch_string_wide_value_string "339" |
597 | #define op_new_func_wide_value_string "340" |
598 | #define op_new_func_exp_wide_value_string "341" |
599 | #define op_new_generator_func_wide_value_string "342" |
600 | #define op_new_generator_func_exp_wide_value_string "343" |
601 | #define op_new_async_func_wide_value_string "344" |
602 | #define op_new_async_func_exp_wide_value_string "345" |
603 | #define op_new_async_generator_func_wide_value_string "346" |
604 | #define op_new_async_generator_func_exp_wide_value_string "347" |
605 | #define op_set_function_name_wide_value_string "348" |
606 | #define op_ret_wide_value_string "349" |
607 | #define op_strcat_wide_value_string "350" |
608 | #define op_to_primitive_wide_value_string "351" |
609 | #define op_put_to_arguments_wide_value_string "352" |
610 | #define op_push_with_scope_wide_value_string "353" |
611 | #define op_create_lexical_environment_wide_value_string "354" |
612 | #define op_create_generator_frame_environment_wide_value_string "355" |
613 | #define op_get_parent_scope_wide_value_string "356" |
614 | #define op_throw_wide_value_string "357" |
615 | #define op_throw_static_error_wide_value_string "358" |
616 | #define op_debug_wide_value_string "359" |
617 | #define op_end_wide_value_string "360" |
618 | #define op_get_enumerable_length_wide_value_string "361" |
619 | #define op_has_structure_property_wide_value_string "362" |
620 | #define op_has_generic_property_wide_value_string "363" |
621 | #define op_get_property_enumerator_wide_value_string "364" |
622 | #define op_enumerator_structure_pname_wide_value_string "365" |
623 | #define op_enumerator_generic_pname_wide_value_string "366" |
624 | #define op_to_index_string_wide_value_string "367" |
625 | #define op_unreachable_wide_value_string "368" |
626 | #define op_create_rest_wide_value_string "369" |
627 | #define op_get_rest_length_wide_value_string "370" |
628 | #define op_yield_wide_value_string "371" |
629 | #define op_check_traps_wide_value_string "372" |
630 | #define op_log_shadow_chicken_prologue_wide_value_string "373" |
631 | #define op_log_shadow_chicken_tail_wide_value_string "374" |
632 | #define op_resolve_scope_for_hoisting_func_decl_in_eval_wide_value_string "375" |
633 | #define op_nop_wide_value_string "376" |
634 | #define op_super_sampler_begin_wide_value_string "377" |
635 | #define op_super_sampler_end_wide_value_string "378" |
636 | |
637 | #define FOR_EACH_CLOOP_BYTECODE_HELPER_ID(macro) \ |
638 | macro(llint_entry, 1) \ |
639 | macro(getHostCallReturnValue, 1) \ |
640 | macro(llint_return_to_host, 1) \ |
641 | macro(llint_vm_entry_to_javascript, 1) \ |
642 | macro(llint_vm_entry_to_native, 1) \ |
643 | macro(llint_cloop_did_return_from_js_1, 1) \ |
644 | macro(llint_cloop_did_return_from_js_2, 1) \ |
645 | macro(llint_cloop_did_return_from_js_3, 1) \ |
646 | macro(llint_cloop_did_return_from_js_4, 1) \ |
647 | macro(llint_cloop_did_return_from_js_5, 1) \ |
648 | macro(llint_cloop_did_return_from_js_6, 1) \ |
649 | macro(llint_cloop_did_return_from_js_7, 1) \ |
650 | macro(llint_cloop_did_return_from_js_8, 1) \ |
651 | macro(llint_cloop_did_return_from_js_9, 1) \ |
652 | macro(llint_cloop_did_return_from_js_10, 1) \ |
653 | macro(llint_cloop_did_return_from_js_11, 1) \ |
654 | macro(llint_cloop_did_return_from_js_12, 1) \ |
655 | macro(llint_cloop_did_return_from_js_13, 1) \ |
656 | macro(llint_cloop_did_return_from_js_14, 1) \ |
657 | macro(llint_cloop_did_return_from_js_15, 1) \ |
658 | macro(llint_cloop_did_return_from_js_16, 1) \ |
659 | macro(llint_cloop_did_return_from_js_17, 1) \ |
660 | macro(llint_cloop_did_return_from_js_18, 1) \ |
661 | macro(llint_cloop_did_return_from_js_19, 1) \ |
662 | macro(llint_cloop_did_return_from_js_20, 1) \ |
663 | macro(llint_cloop_did_return_from_js_21, 1) \ |
664 | macro(llint_cloop_did_return_from_js_22, 1) \ |
665 | macro(llint_cloop_did_return_from_js_23, 1) \ |
666 | |
667 | #define NUMBER_OF_CLOOP_BYTECODE_HELPER_IDS 28 |
668 | |
669 | #define FOR_EACH_BYTECODE_HELPER_ID(macro) \ |
670 | macro(llint_program_prologue, 1) \ |
671 | macro(llint_eval_prologue, 1) \ |
672 | macro(llint_module_program_prologue, 1) \ |
673 | macro(llint_function_for_call_prologue, 1) \ |
674 | macro(llint_function_for_construct_prologue, 1) \ |
675 | macro(llint_function_for_call_arity_check, 1) \ |
676 | macro(llint_function_for_construct_arity_check, 1) \ |
677 | macro(llint_generic_return_point, 1) \ |
678 | macro(llint_throw_from_slow_path_trampoline, 1) \ |
679 | macro(llint_throw_during_call_trampoline, 1) \ |
680 | macro(llint_native_call_trampoline, 1) \ |
681 | macro(llint_native_construct_trampoline, 1) \ |
682 | macro(llint_internal_function_call_trampoline, 1) \ |
683 | macro(llint_internal_function_construct_trampoline, 1) \ |
684 | macro(handleUncaughtException, 1) \ |
685 | |
686 | #define NUMBER_OF_BYTECODE_HELPER_IDS 15 |
687 | |
688 | #define FOR_EACH_BYTECODE_STRUCT(macro) \ |
689 | macro(OpCreateThis) \ |
690 | macro(OpGetArgument) \ |
691 | macro(OpToThis) \ |
692 | macro(OpNewObject) \ |
693 | macro(OpNewArray) \ |
694 | macro(OpNewArrayWithSize) \ |
695 | macro(OpNewArrayBuffer) \ |
696 | macro(OpAdd) \ |
697 | macro(OpMul) \ |
698 | macro(OpDiv) \ |
699 | macro(OpSub) \ |
700 | macro(OpBitand) \ |
701 | macro(OpBitor) \ |
702 | macro(OpBitxor) \ |
703 | macro(OpBitnot) \ |
704 | macro(OpToObject) \ |
705 | macro(OpToNumber) \ |
706 | macro(OpNegate) \ |
707 | macro(OpInByVal) \ |
708 | macro(OpGetById) \ |
709 | macro(OpGetByIdWithThis) \ |
710 | macro(OpGetByValWithThis) \ |
711 | macro(OpGetByIdDirect) \ |
712 | macro(OpTryGetById) \ |
713 | macro(OpPutById) \ |
714 | macro(OpGetByVal) \ |
715 | macro(OpPutByVal) \ |
716 | macro(OpPutByValDirect) \ |
717 | macro(OpJneqPtr) \ |
718 | macro(OpCall) \ |
719 | macro(OpTailCall) \ |
720 | macro(OpCallEval) \ |
721 | macro(OpCallVarargs) \ |
722 | macro(OpTailCallVarargs) \ |
723 | macro(OpTailCallForwardArguments) \ |
724 | macro(OpConstruct) \ |
725 | macro(OpConstructVarargs) \ |
726 | macro(OpResolveScope) \ |
727 | macro(OpGetFromScope) \ |
728 | macro(OpPutToScope) \ |
729 | macro(OpGetFromArguments) \ |
730 | macro(OpCatch) \ |
731 | macro(OpProfileType) \ |
732 | macro(OpProfileControlFlow) \ |
733 | macro(OpHasIndexedProperty) \ |
734 | macro(OpGetDirectPname) \ |
735 | macro(OpWide) \ |
736 | macro(OpEnter) \ |
737 | macro(OpGetScope) \ |
738 | macro(OpCreateDirectArguments) \ |
739 | macro(OpCreateScopedArguments) \ |
740 | macro(OpCreateClonedArguments) \ |
741 | macro(OpArgumentCount) \ |
742 | macro(OpCheckTdz) \ |
743 | macro(OpNewArrayWithSpread) \ |
744 | macro(OpSpread) \ |
745 | macro(OpNewRegexp) \ |
746 | macro(OpMov) \ |
747 | macro(OpEq) \ |
748 | macro(OpNeq) \ |
749 | macro(OpStricteq) \ |
750 | macro(OpNstricteq) \ |
751 | macro(OpLess) \ |
752 | macro(OpLesseq) \ |
753 | macro(OpGreater) \ |
754 | macro(OpGreatereq) \ |
755 | macro(OpBelow) \ |
756 | macro(OpBeloweq) \ |
757 | macro(OpMod) \ |
758 | macro(OpPow) \ |
759 | macro(OpLshift) \ |
760 | macro(OpRshift) \ |
761 | macro(OpUrshift) \ |
762 | macro(OpEqNull) \ |
763 | macro(OpNeqNull) \ |
764 | macro(OpToString) \ |
765 | macro(OpUnsigned) \ |
766 | macro(OpIsEmpty) \ |
767 | macro(OpIsUndefined) \ |
768 | macro(OpIsUndefinedOrNull) \ |
769 | macro(OpIsBoolean) \ |
770 | macro(OpIsNumber) \ |
771 | macro(OpIsObject) \ |
772 | macro(OpIsObjectOrNull) \ |
773 | macro(OpIsFunction) \ |
774 | macro(OpInc) \ |
775 | macro(OpDec) \ |
776 | macro(OpNot) \ |
777 | macro(OpIdentityWithProfile) \ |
778 | macro(OpOverridesHasInstance) \ |
779 | macro(OpInstanceof) \ |
780 | macro(OpInstanceofCustom) \ |
781 | macro(OpTypeof) \ |
782 | macro(OpIsCellWithType) \ |
783 | macro(OpInById) \ |
784 | macro(OpPutByIdWithThis) \ |
785 | macro(OpDelById) \ |
786 | macro(OpPutByValWithThis) \ |
787 | macro(OpDelByVal) \ |
788 | macro(OpPutGetterById) \ |
789 | macro(OpPutSetterById) \ |
790 | macro(OpPutGetterSetterById) \ |
791 | macro(OpPutGetterByVal) \ |
792 | macro(OpPutSetterByVal) \ |
793 | macro(OpDefineDataProperty) \ |
794 | macro(OpDefineAccessorProperty) \ |
795 | macro(OpJmp) \ |
796 | macro(OpJtrue) \ |
797 | macro(OpJfalse) \ |
798 | macro(OpJeqNull) \ |
799 | macro(OpJneqNull) \ |
800 | macro(OpJeq) \ |
801 | macro(OpJstricteq) \ |
802 | macro(OpJneq) \ |
803 | macro(OpJnstricteq) \ |
804 | macro(OpJless) \ |
805 | macro(OpJlesseq) \ |
806 | macro(OpJgreater) \ |
807 | macro(OpJgreatereq) \ |
808 | macro(OpJnless) \ |
809 | macro(OpJnlesseq) \ |
810 | macro(OpJngreater) \ |
811 | macro(OpJngreatereq) \ |
812 | macro(OpJbelow) \ |
813 | macro(OpJbeloweq) \ |
814 | macro(OpLoopHint) \ |
815 | macro(OpSwitchImm) \ |
816 | macro(OpSwitchChar) \ |
817 | macro(OpSwitchString) \ |
818 | macro(OpNewFunc) \ |
819 | macro(OpNewFuncExp) \ |
820 | macro(OpNewGeneratorFunc) \ |
821 | macro(OpNewGeneratorFuncExp) \ |
822 | macro(OpNewAsyncFunc) \ |
823 | macro(OpNewAsyncFuncExp) \ |
824 | macro(OpNewAsyncGeneratorFunc) \ |
825 | macro(OpNewAsyncGeneratorFuncExp) \ |
826 | macro(OpSetFunctionName) \ |
827 | macro(OpRet) \ |
828 | macro(OpStrcat) \ |
829 | macro(OpToPrimitive) \ |
830 | macro(OpPutToArguments) \ |
831 | macro(OpPushWithScope) \ |
832 | macro(OpCreateLexicalEnvironment) \ |
833 | macro(OpCreateGeneratorFrameEnvironment) \ |
834 | macro(OpGetParentScope) \ |
835 | macro(OpThrow) \ |
836 | macro(OpThrowStaticError) \ |
837 | macro(OpDebug) \ |
838 | macro(OpEnd) \ |
839 | macro(OpGetEnumerableLength) \ |
840 | macro(OpHasStructureProperty) \ |
841 | macro(OpHasGenericProperty) \ |
842 | macro(OpGetPropertyEnumerator) \ |
843 | macro(OpEnumeratorStructurePname) \ |
844 | macro(OpEnumeratorGenericPname) \ |
845 | macro(OpToIndexString) \ |
846 | macro(OpUnreachable) \ |
847 | macro(OpCreateRest) \ |
848 | macro(OpGetRestLength) \ |
849 | macro(OpYield) \ |
850 | macro(OpCheckTraps) \ |
851 | macro(OpLogShadowChickenPrologue) \ |
852 | macro(OpLogShadowChickenTail) \ |
853 | macro(OpResolveScopeForHoistingFuncDeclInEval) \ |
854 | macro(OpNop) \ |
855 | macro(OpSuperSamplerBegin) \ |
856 | macro(OpSuperSamplerEnd) \ |
857 | |
858 | |