102 macro(op_get_by_id_self, 8) \ |
102 macro(op_get_by_id_self, 8) \ |
103 macro(op_get_by_id_self_list, 8) \ |
103 macro(op_get_by_id_self_list, 8) \ |
104 macro(op_get_by_id_proto, 8) \ |
104 macro(op_get_by_id_proto, 8) \ |
105 macro(op_get_by_id_proto_list, 8) \ |
105 macro(op_get_by_id_proto_list, 8) \ |
106 macro(op_get_by_id_chain, 8) \ |
106 macro(op_get_by_id_chain, 8) \ |
|
107 macro(op_get_by_id_getter_self, 8) \ |
|
108 macro(op_get_by_id_getter_self_list, 8) \ |
|
109 macro(op_get_by_id_getter_proto, 8) \ |
|
110 macro(op_get_by_id_getter_proto_list, 8) \ |
|
111 macro(op_get_by_id_getter_chain, 8) \ |
|
112 macro(op_get_by_id_custom_self, 8) \ |
|
113 macro(op_get_by_id_custom_self_list, 8) \ |
|
114 macro(op_get_by_id_custom_proto, 8) \ |
|
115 macro(op_get_by_id_custom_proto_list, 8) \ |
|
116 macro(op_get_by_id_custom_chain, 8) \ |
107 macro(op_get_by_id_generic, 8) \ |
117 macro(op_get_by_id_generic, 8) \ |
108 macro(op_get_array_length, 8) \ |
118 macro(op_get_array_length, 8) \ |
109 macro(op_get_string_length, 8) \ |
119 macro(op_get_string_length, 8) \ |
110 macro(op_put_by_id, 8) \ |
120 macro(op_put_by_id, 8) \ |
111 macro(op_put_by_id_transition, 8) \ |
121 macro(op_put_by_id_transition, 8) \ |
126 macro(op_jeq_null, 3) \ |
136 macro(op_jeq_null, 3) \ |
127 macro(op_jneq_null, 3) \ |
137 macro(op_jneq_null, 3) \ |
128 macro(op_jneq_ptr, 4) \ |
138 macro(op_jneq_ptr, 4) \ |
129 macro(op_jnless, 4) \ |
139 macro(op_jnless, 4) \ |
130 macro(op_jnlesseq, 4) \ |
140 macro(op_jnlesseq, 4) \ |
|
141 macro(op_jless, 4) \ |
131 macro(op_jmp_scopes, 3) \ |
142 macro(op_jmp_scopes, 3) \ |
132 macro(op_loop, 2) \ |
143 macro(op_loop, 2) \ |
133 macro(op_loop_if_true, 3) \ |
144 macro(op_loop_if_true, 3) \ |
|
145 macro(op_loop_if_false, 3) \ |
134 macro(op_loop_if_less, 4) \ |
146 macro(op_loop_if_less, 4) \ |
135 macro(op_loop_if_lesseq, 4) \ |
147 macro(op_loop_if_lesseq, 4) \ |
136 macro(op_switch_imm, 4) \ |
148 macro(op_switch_imm, 4) \ |
137 macro(op_switch_char, 4) \ |
149 macro(op_switch_char, 4) \ |
138 macro(op_switch_string, 4) \ |
150 macro(op_switch_string, 4) \ |
192 #define VERIFY_OPCODE_ID(id, size) COMPILE_ASSERT(id <= op_end, ASSERT_THAT_JS_OPCODE_IDS_ARE_VALID); |
204 #define VERIFY_OPCODE_ID(id, size) COMPILE_ASSERT(id <= op_end, ASSERT_THAT_JS_OPCODE_IDS_ARE_VALID); |
193 FOR_EACH_OPCODE_ID(VERIFY_OPCODE_ID); |
205 FOR_EACH_OPCODE_ID(VERIFY_OPCODE_ID); |
194 #undef VERIFY_OPCODE_ID |
206 #undef VERIFY_OPCODE_ID |
195 |
207 |
196 #if HAVE(COMPUTED_GOTO) |
208 #if HAVE(COMPUTED_GOTO) |
|
209 #if COMPILER(RVCT) |
197 typedef void* Opcode; |
210 typedef void* Opcode; |
|
211 #else |
|
212 typedef const void* Opcode; |
|
213 #endif |
198 #else |
214 #else |
199 typedef OpcodeID Opcode; |
215 typedef OpcodeID Opcode; |
200 #endif |
216 #endif |
201 |
217 |
202 #if ENABLE(OPCODE_SAMPLING) || ENABLE(CODEBLOCK_SAMPLING) || ENABLE(OPCODE_STATS) |
218 #if ENABLE(OPCODE_SAMPLING) || ENABLE(CODEBLOCK_SAMPLING) || ENABLE(OPCODE_STATS) |