]> git.saurik.com Git - apple/javascriptcore.git/blob - bytecode/BytecodeList.json
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / bytecode / BytecodeList.json
1 [
2 {
3 "section" : "Bytecodes", "emitInHFile" : true, "emitInASMFile" : true,
4 "macroNameComponent" : "BYTECODE", "asmPrefix" : "llint_",
5 "bytecodes" : [
6 { "name" : "op_enter", "length" : 1 },
7 { "name" : "op_create_lexical_environment", "length" : 3 },
8 { "name" : "op_get_scope", "length" : 2 },
9 { "name" : "op_create_direct_arguments", "length" : 2 },
10 { "name" : "op_create_scoped_arguments", "length" : 3 },
11 { "name" : "op_create_out_of_band_arguments", "length" : 2 },
12 { "name" : "op_create_this", "length" : 5 },
13 { "name" : "op_to_this", "length" : 4 },
14 { "name" : "op_check_tdz", "length" : 2 },
15 { "name" : "op_new_object", "length" : 4 },
16 { "name" : "op_new_array", "length" : 5 },
17 { "name" : "op_new_array_with_size", "length" : 4 },
18 { "name" : "op_new_array_buffer", "length" : 5 },
19 { "name" : "op_new_regexp", "length" : 3 },
20 { "name" : "op_mov", "length" : 3 },
21 { "name" : "op_not", "length" : 3 },
22 { "name" : "op_eq", "length" : 4 },
23 { "name" : "op_eq_null", "length" : 3 },
24 { "name" : "op_neq", "length" : 4 },
25 { "name" : "op_neq_null", "length" : 3 },
26 { "name" : "op_stricteq", "length" : 4 },
27 { "name" : "op_nstricteq", "length" : 4 },
28 { "name" : "op_less", "length" : 4 },
29 { "name" : "op_lesseq", "length" : 4 },
30 { "name" : "op_greater", "length" : 4 },
31 { "name" : "op_greatereq", "length" : 4 },
32 { "name" : "op_inc", "length" : 2 },
33 { "name" : "op_dec", "length" : 2 },
34 { "name" : "op_to_number", "length" : 3 },
35 { "name" : "op_to_string", "length" : 3 },
36 { "name" : "op_negate", "length" : 3 },
37 { "name" : "op_add", "length" : 5 },
38 { "name" : "op_mul", "length" : 5 },
39 { "name" : "op_div", "length" : 5 },
40 { "name" : "op_mod", "length" : 4 },
41 { "name" : "op_sub", "length" : 5 },
42 { "name" : "op_lshift", "length" : 4 },
43 { "name" : "op_rshift", "length" : 4 },
44 { "name" : "op_urshift", "length" : 4 },
45 { "name" : "op_unsigned", "length" : 3 },
46 { "name" : "op_bitand", "length" : 5 },
47 { "name" : "op_bitxor", "length" : 5 },
48 { "name" : "op_bitor", "length" : 5 },
49 { "name" : "op_check_has_instance", "length" : 5 },
50 { "name" : "op_instanceof", "length" : 4 },
51 { "name" : "op_typeof", "length" : 3 },
52 { "name" : "op_is_undefined", "length" : 3 },
53 { "name" : "op_is_boolean", "length" : 3 },
54 { "name" : "op_is_number", "length" : 3 },
55 { "name" : "op_is_string", "length" : 3 },
56 { "name" : "op_is_object", "length" : 3 },
57 { "name" : "op_is_object_or_null", "length" : 3 },
58 { "name" : "op_is_function", "length" : 3 },
59 { "name" : "op_in", "length" : 4 },
60 { "name" : "op_init_global_const_nop", "length" : 5 },
61 { "name" : "op_init_global_const", "length" : 5 },
62 { "name" : "op_get_by_id", "length" : 9 },
63 { "name" : "op_get_by_id_out_of_line", "length" : 9 },
64 { "name" : "op_get_array_length", "length" : 9 },
65 { "name" : "op_put_by_id", "length" : 9 },
66 { "name" : "op_put_by_id_out_of_line", "length" : 9 },
67 { "name" : "op_put_by_id_transition_direct", "length" : 9 },
68 { "name" : "op_put_by_id_transition_direct_out_of_line", "length" : 9 },
69 { "name" : "op_put_by_id_transition_normal", "length" : 9 },
70 { "name" : "op_put_by_id_transition_normal_out_of_line", "length" : 9 },
71 { "name" : "op_del_by_id", "length" : 4 },
72 { "name" : "op_get_by_val", "length" : 6 },
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_by_id", "length" : 4 },
78 { "name" : "op_put_setter_by_id", "length" : 4 },
79 { "name" : "op_put_getter_setter", "length" : 5 },
80 { "name" : "op_jmp", "length" : 2 },
81 { "name" : "op_jtrue", "length" : 3 },
82 { "name" : "op_jfalse", "length" : 3 },
83 { "name" : "op_jeq_null", "length" : 3 },
84 { "name" : "op_jneq_null", "length" : 3 },
85 { "name" : "op_jneq_ptr", "length" : 4 },
86 { "name" : "op_jless", "length" : 4 },
87 { "name" : "op_jlesseq", "length" : 4 },
88 { "name" : "op_jgreater", "length" : 4 },
89 { "name" : "op_jgreatereq", "length" : 4 },
90 { "name" : "op_jnless", "length" : 4 },
91 { "name" : "op_jnlesseq", "length" : 4 },
92 { "name" : "op_jngreater", "length" : 4 },
93 { "name" : "op_jngreatereq", "length" : 4 },
94 { "name" : "op_loop_hint", "length" : 1 },
95 { "name" : "op_switch_imm", "length" : 4 },
96 { "name" : "op_switch_char", "length" : 4 },
97 { "name" : "op_switch_string", "length" : 4 },
98 { "name" : "op_new_func", "length" : 4 },
99 { "name" : "op_new_func_exp", "length" : 4 },
100 { "name" : "op_call", "length" : 9 },
101 { "name" : "op_call_eval", "length" : 9 },
102 { "name" : "op_call_varargs", "length" : 9 },
103 { "name" : "op_ret", "length" : 2 },
104 { "name" : "op_construct", "length" : 9 },
105 { "name" : "op_construct_varargs", "length" : 9 },
106 { "name" : "op_strcat", "length" : 4 },
107 { "name" : "op_to_primitive", "length" : 3 },
108 { "name" : "op_resolve_scope", "length" : 7 },
109 { "name" : "op_get_from_scope", "length" : 8 },
110 { "name" : "op_put_to_scope", "length" : 7 },
111 { "name" : "op_get_from_arguments", "length" : 5 },
112 { "name" : "op_put_to_arguments", "length" : 4 },
113 { "name" : "op_push_with_scope", "length" : 3 },
114 { "name" : "op_pop_scope", "length" : 2 },
115 { "name" : "op_push_name_scope", "length" : 5 },
116 { "name" : "op_catch", "length" : 3 },
117 { "name" : "op_throw", "length" : 2 },
118 { "name" : "op_throw_static_error", "length" : 3 },
119 { "name" : "op_debug", "length" : 3 },
120 { "name" : "op_profile_will_call", "length" : 2 },
121 { "name" : "op_profile_did_call", "length" : 2 },
122 { "name" : "op_end", "length" : 2 },
123 { "name" : "op_profile_type", "length" : 6 },
124 { "name" : "op_profile_control_flow", "length" : 2 },
125 { "name" : "op_get_enumerable_length", "length" : 3 },
126 { "name" : "op_has_indexed_property", "length" : 5 },
127 { "name" : "op_has_structure_property", "length" : 5 },
128 { "name" : "op_has_generic_property", "length" : 4 },
129 { "name" : "op_get_direct_pname", "length" : 7 },
130 { "name" : "op_get_property_enumerator", "length" : 3 },
131 { "name" : "op_enumerator_structure_pname", "length" : 4 },
132 { "name" : "op_enumerator_generic_pname", "length" : 4 },
133 { "name" : "op_to_index_string", "length" : 3 }
134 ]
135 },
136 {
137 "section" : "CLoopHelpers", "emitInHFile" : true, "emitInASMFile" : false, "defaultLength" : 1,
138 "macroNameComponent" : "CLOOP_BYTECODE_HELPER",
139 "bytecodes" : [
140 { "name" : "llint_entry" },
141 { "name" : "getHostCallReturnValue" },
142 { "name" : "llint_return_to_host" },
143 { "name" : "llint_vm_entry_to_javascript" },
144 { "name" : "llint_vm_entry_to_native" },
145 { "name" : "llint_cloop_did_return_from_js_1" },
146 { "name" : "llint_cloop_did_return_from_js_2" },
147 { "name" : "llint_cloop_did_return_from_js_3" },
148 { "name" : "llint_cloop_did_return_from_js_4" },
149 { "name" : "llint_cloop_did_return_from_js_5" },
150 { "name" : "llint_cloop_did_return_from_js_6" },
151 { "name" : "llint_cloop_did_return_from_js_7" },
152 { "name" : "llint_cloop_did_return_from_js_8" }
153 ]
154 },
155 {
156 "section" : "NativeHelpers", "emitInHFile" : true, "emitInASMFile" : true, "defaultLength" : 1,
157 "macroNameComponent" : "BYTECODE_HELPER",
158 "bytecodes" : [
159 { "name" : "llint_program_prologue" },
160 { "name" : "llint_eval_prologue" },
161 { "name" : "llint_function_for_call_prologue" },
162 { "name" : "llint_function_for_construct_prologue" },
163 { "name" : "llint_function_for_call_arity_check" },
164 { "name" : "llint_function_for_construct_arity_check" },
165 { "name" : "llint_generic_return_point" },
166 { "name" : "llint_throw_from_slow_path_trampoline" },
167 { "name" : "llint_throw_during_call_trampoline" },
168 { "name" : "llint_native_call_trampoline" },
169 { "name" : "llint_native_construct_trampoline" },
170 { "name" : "handleUncaughtException" }
171 ]
172 }
173 ]