Web Replay: route through UserInputBridge when delivering user inputs to WebCore
[WebKit-https.git] / Source / JavaScriptCore / bytecode / BytecodeList.json
1 [
2     {
3         "section" : "Bytecodes", "emitInHFile" : true, "emitInASMFile" : true, "macroNameComponent" : "BYTECODE",
4         "bytecodes" : [
5             { "name" : "op_enter", "length" : 1 },
6             { "name" : "op_create_activation", "length" : 2 },
7             { "name" : "op_touch_entry", "length" : 1 },
8             { "name" : "op_init_lazy_reg", "length" : 2 },
9             { "name" : "op_create_arguments", "length" : 2 },
10             { "name" : "op_create_this", "length" : 4 },
11             { "name" : "op_get_callee", "length" : 3 },
12             { "name" : "op_to_this", "length" : 3 },
13             { "name" : "op_new_object", "length" : 4 },
14             { "name" : "op_new_array", "length" : 5 },
15             { "name" : "op_new_array_with_size", "length" : 4 },
16             { "name" : "op_new_array_buffer", "length" : 5 },
17             { "name" : "op_new_regexp", "length" : 3 },
18             { "name" : "op_mov", "length" : 3 },
19             { "name" : "op_captured_mov", "length" : 4 },
20             { "name" : "op_not", "length" : 3 },
21             { "name" : "op_eq", "length" : 4 },
22             { "name" : "op_eq_null", "length" : 3 },
23             { "name" : "op_neq", "length" : 4 },
24             { "name" : "op_neq_null", "length" : 3 },
25             { "name" : "op_stricteq", "length" : 4 },
26             { "name" : "op_nstricteq", "length" : 4 },
27             { "name" : "op_less", "length" : 4 },
28             { "name" : "op_lesseq", "length" : 4 },
29             { "name" : "op_greater", "length" : 4 },
30             { "name" : "op_greatereq", "length" : 4 },
31             { "name" : "op_inc", "length" : 2 },
32             { "name" : "op_dec", "length" : 2 },
33             { "name" : "op_to_number", "length" : 3 },
34             { "name" : "op_negate", "length" : 3 },
35             { "name" : "op_add", "length" : 5 },
36             { "name" : "op_mul", "length" : 5 },
37             { "name" : "op_div", "length" : 5 },
38             { "name" : "op_mod", "length" : 4 },
39             { "name" : "op_sub", "length" : 5 },
40             { "name" : "op_lshift", "length" : 4 },
41             { "name" : "op_rshift", "length" : 4 },
42             { "name" : "op_urshift", "length" : 4 },
43             { "name" : "op_unsigned", "length" : 3 },
44             { "name" : "op_bitand", "length" : 5 },
45             { "name" : "op_bitxor", "length" : 5 },
46             { "name" : "op_bitor", "length" : 5 },
47             { "name" : "op_check_has_instance", "length" : 5 },
48             { "name" : "op_instanceof", "length" : 4 },
49             { "name" : "op_typeof", "length" : 3 },
50             { "name" : "op_is_undefined", "length" : 3 },
51             { "name" : "op_is_boolean", "length" : 3 },
52             { "name" : "op_is_number", "length" : 3 },
53             { "name" : "op_is_string", "length" : 3 },
54             { "name" : "op_is_object", "length" : 3 },
55             { "name" : "op_is_function", "length" : 3 },
56             { "name" : "op_in", "length" : 4 },
57             { "name" : "op_init_global_const_nop", "length" : 5 },
58             { "name" : "op_init_global_const", "length" : 5 },
59             { "name" : "op_get_by_id", "length" : 9  },
60             { "name" : "op_get_by_id_out_of_line", "length" : 9  },
61             { "name" : "op_get_array_length", "length" : 9 },
62             { "name" : "op_get_arguments_length", "length" : 4 },
63             { "name" : "op_put_by_id", "length" : 9 },
64             { "name" : "op_put_by_id_out_of_line", "length" : 9 },
65             { "name" : "op_put_by_id_transition_direct", "length" : 9 },
66             { "name" : "op_put_by_id_transition_direct_out_of_line", "length" : 9 },
67             { "name" : "op_put_by_id_transition_normal", "length" : 9 },
68             { "name" : "op_put_by_id_transition_normal_out_of_line", "length" : 9 },
69             { "name" : "op_del_by_id", "length" : 4 },
70             { "name" : "op_get_by_val", "length" : 6 },
71             { "name" : "op_get_argument_by_val", "length" : 6 },
72             { "name" : "op_get_by_pname", "length" : 7 },
73             { "name" : "op_put_by_val", "length" : 5 },
74             { "name" : "op_put_by_val_direct", "length" : 5 },
75             { "name" : "op_del_by_val", "length" : 4 },
76             { "name" : "op_put_by_index", "length" : 4 },
77             { "name" : "op_put_getter_setter", "length" : 5 },
78             { "name" : "op_jmp", "length" : 2 },
79             { "name" : "op_jtrue", "length" : 3 },
80             { "name" : "op_jfalse", "length" : 3 },
81             { "name" : "op_jeq_null", "length" : 3 },
82             { "name" : "op_jneq_null", "length" : 3 },
83             { "name" : "op_jneq_ptr", "length" : 4 },
84             { "name" : "op_jless", "length" : 4 },
85             { "name" : "op_jlesseq", "length" : 4 },
86             { "name" : "op_jgreater", "length" : 4 },
87             { "name" : "op_jgreatereq", "length" : 4 },
88             { "name" : "op_jnless", "length" : 4 },
89             { "name" : "op_jnlesseq", "length" : 4 },
90             { "name" : "op_jngreater", "length" : 4 },
91             { "name" : "op_jngreatereq", "length" : 4 },
92             { "name" : "op_loop_hint", "length" : 1 },
93             { "name" : "op_switch_imm", "length" : 4 },
94             { "name" : "op_switch_char", "length" : 4 },
95             { "name" : "op_switch_string", "length" : 4 },
96             { "name" : "op_new_func", "length" : 4 },
97             { "name" : "op_new_captured_func", "length" : 4 },
98             { "name" : "op_new_func_exp", "length" : 3 },
99             { "name" : "op_call", "length" : 9 },
100             { "name" : "op_call_eval", "length" : 9 },
101             { "name" : "op_call_varargs", "length" : 9 },
102             { "name" : "op_tear_off_activation", "length" : 2 },
103             { "name" : "op_tear_off_arguments", "length" : 3 },
104             { "name" : "op_ret", "length" : 2 },
105             { "name" : "op_ret_object_or_this", "length" : 3 },
106             { "name" : "op_construct", "length" : 9 },
107             { "name" : "op_strcat", "length" : 4 },
108             { "name" : "op_to_primitive", "length" : 3 },
109             { "name" : "op_get_pnames", "length" : 6 },
110             { "name" : "op_next_pname", "length" : 7 },
111             { "name" : "op_resolve_scope", "length" : 6 },
112             { "name" : "op_get_from_scope", "length" : 8 },
113             { "name" : "op_put_to_scope", "length" : 7 },
114             { "name" : "op_push_with_scope", "length" : 2 },
115             { "name" : "op_pop_scope", "length" : 1 },
116             { "name" : "op_push_name_scope", "length" : 4 },
117             { "name" : "op_catch", "length" : 2 },
118             { "name" : "op_throw", "length" : 2 },
119             { "name" : "op_throw_static_error", "length" : 3 },
120             { "name" : "op_debug", "length" : 3 },
121             { "name" : "op_profile_will_call", "length" : 2 },
122             { "name" : "op_profile_did_call", "length" : 2 },
123             { "name" : "op_end", "length" : 2 }
124         ]
125     },
126     {
127         "section" : "NativeHelpers", "emitInHFile" : true, "emitInASMFile" : true, "defaultLength" : 1,
128         "macroNameComponent" : "BYTECODE_HELPER", "emitDefineID" : true,
129         "bytecodes" : [
130             { "name" : "llint_program_prologue" },
131             { "name" : "llint_eval_prologue" },
132             { "name" : "llint_function_for_call_prologue" },
133             { "name" : "llint_function_for_construct_prologue" },
134             { "name" : "llint_function_for_call_arity_check" },
135             { "name" : "llint_function_for_construct_arity_check" },
136             { "name" : "llint_generic_return_point" },
137             { "name" : "llint_throw_from_slow_path_trampoline" },
138             { "name" : "llint_throw_during_call_trampoline" },
139             { "name" : "llint_native_call_trampoline" },
140             { "name" : "llint_native_construct_trampoline" }
141         ]
142     },
143     {
144         "section" : "CLoopHelpers", "emitInHFile" : true, "emitInASMFile" : false, "defaultLength" : 1,
145         "macroNameComponent" : "CLOOP_BYTECODE_HELPER",
146         "bytecodes" : [
147             { "name" : "llint_c_loop_init" },
148             { "name" : "getHostCallReturnValue" },
149             { "name" : "llint_return_to_host" },
150             { "name" : "llint_call_to_javascript" },
151             { "name" : "llint_call_to_native_function" },
152             { "name" : "handleUncaughtException" },
153             { "name" : "llint_cloop_did_return_from_js_1" },
154             { "name" : "llint_cloop_did_return_from_js_2" },
155             { "name" : "llint_cloop_did_return_from_js_3" },
156             { "name" : "llint_cloop_did_return_from_js_4" },
157             { "name" : "llint_cloop_did_return_from_js_5" },
158             { "name" : "llint_cloop_did_return_from_js_6" },
159             { "name" : "llint_cloop_did_return_from_js_7" }
160         ]
161     }
162 ]