|
173 | 173 |
|
174 | 174 | #define CBC_FORWARD_BRANCH(name, stack, vm_oc) \ |
175 | 175 | CBC_OPCODE (name, CBC_HAS_BRANCH_ARG | CBC_FORWARD_BRANCH_ARG, stack, \ |
176 | | - (vm_oc)) \ |
| 176 | + (vm_oc) | VM_OC_HAS_BRANCH_ARG) \ |
177 | 177 | CBC_OPCODE (name ## _2, CBC_HAS_BRANCH_ARG | CBC_FORWARD_BRANCH_ARG, stack, \ |
178 | | - (vm_oc)) \ |
| 178 | + (vm_oc) | VM_OC_HAS_BRANCH_ARG) \ |
179 | 179 | CBC_OPCODE (name ## _3, CBC_HAS_BRANCH_ARG | CBC_FORWARD_BRANCH_ARG, stack, \ |
180 | | - (vm_oc)) |
| 180 | + (vm_oc) | VM_OC_HAS_BRANCH_ARG) |
181 | 181 |
|
182 | 182 | #define CBC_BACKWARD_BRANCH(name, stack, vm_oc) \ |
183 | 183 | CBC_OPCODE (name, CBC_HAS_BRANCH_ARG, stack, \ |
184 | | - (vm_oc)) \ |
| 184 | + (vm_oc) | VM_OC_HAS_BRANCH_ARG | VM_OC_BACKWARD_BRANCH) \ |
185 | 185 | CBC_OPCODE (name ## _2, CBC_HAS_BRANCH_ARG, stack, \ |
186 | | - (vm_oc)) \ |
| 186 | + (vm_oc) | VM_OC_HAS_BRANCH_ARG | VM_OC_BACKWARD_BRANCH) \ |
187 | 187 | CBC_OPCODE (name ## _3, CBC_HAS_BRANCH_ARG, stack, \ |
188 | | - (vm_oc)) |
| 188 | + (vm_oc) | VM_OC_HAS_BRANCH_ARG | VM_OC_BACKWARD_BRANCH) |
189 | 189 |
|
190 | 190 | #define CBC_BRANCH_OFFSET_LENGTH(opcode) \ |
191 | 191 | ((opcode) & 0x3) |
|
243 | 243 | CBC_FORWARD_BRANCH (CBC_BRANCH_IF_LOGICAL_TRUE, -1, \ |
244 | 244 | VM_OC_BRANCH_IF_LOGICAL_TRUE | VM_OC_GET_STACK) \ |
245 | 245 | CBC_OPCODE (CBC_ARRAY_APPEND, CBC_HAS_POP_STACK_BYTE_ARG, 0, \ |
246 | | - VM_OC_APPEND_ARRAY | VM_OC_GET_BYTE) \ |
| 246 | + VM_OC_APPEND_ARRAY) \ |
247 | 247 | CBC_FORWARD_BRANCH (CBC_BRANCH_IF_LOGICAL_FALSE, -1, \ |
248 | 248 | VM_OC_BRANCH_IF_LOGICAL_FALSE | VM_OC_GET_STACK) \ |
249 | 249 | CBC_OPCODE (CBC_PUSH_ELISION, CBC_NO_FLAG, 1, \ |
|
293 | 293 | CBC_OPCODE (CBC_PUSH_PROP_THIS_LITERAL_REFERENCE, CBC_HAS_LITERAL_ARG, 3, \ |
294 | 294 | VM_OC_PROP_REFERENCE | VM_OC_GET_THIS_LITERAL | VM_OC_PUT_STACK) \ |
295 | 295 | CBC_OPCODE (CBC_NEW, CBC_HAS_POP_STACK_BYTE_ARG, 0, \ |
296 | | - VM_OC_NEW | VM_OC_GET_BYTE | VM_OC_PUT_STACK) \ |
| 296 | + VM_OC_NEW | VM_OC_PUT_STACK) \ |
297 | 297 | CBC_OPCODE (CBC_NEW0, CBC_NO_FLAG, 0, \ |
298 | 298 | VM_OC_NEW | VM_OC_PUT_STACK) \ |
299 | 299 | CBC_OPCODE (CBC_NEW1, CBC_NO_FLAG, -1, \ |
|
399 | 399 | \ |
400 | 400 | /* Call opcodes. */ \ |
401 | 401 | CBC_OPCODE (CBC_CALL, CBC_HAS_POP_STACK_BYTE_ARG, -1, \ |
402 | | - VM_OC_CALL | VM_OC_GET_BYTE) \ |
| 402 | + VM_OC_CALL) \ |
403 | 403 | CBC_OPCODE (CBC_CALL_PUSH_RESULT, CBC_HAS_POP_STACK_BYTE_ARG, 0, \ |
404 | | - VM_OC_CALL | VM_OC_GET_BYTE | VM_OC_PUT_STACK) \ |
| 404 | + VM_OC_CALL | VM_OC_PUT_STACK) \ |
405 | 405 | CBC_OPCODE (CBC_CALL_BLOCK, CBC_HAS_POP_STACK_BYTE_ARG, -1, \ |
406 | | - VM_OC_CALL | VM_OC_GET_BYTE | VM_OC_PUT_BLOCK) \ |
| 406 | + VM_OC_CALL | VM_OC_PUT_BLOCK) \ |
407 | 407 | CBC_OPCODE (CBC_CALL_PROP, CBC_HAS_POP_STACK_BYTE_ARG, -3, \ |
408 | | - VM_OC_CALL | VM_OC_GET_BYTE) \ |
| 408 | + VM_OC_CALL) \ |
409 | 409 | CBC_OPCODE (CBC_CALL_PROP_PUSH_RESULT, CBC_HAS_POP_STACK_BYTE_ARG, -2, \ |
410 | | - VM_OC_CALL | VM_OC_GET_BYTE | VM_OC_PUT_STACK) \ |
| 410 | + VM_OC_CALL | VM_OC_PUT_STACK) \ |
411 | 411 | CBC_OPCODE (CBC_CALL_PROP_BLOCK, CBC_HAS_POP_STACK_BYTE_ARG, -3, \ |
412 | | - VM_OC_CALL | VM_OC_GET_BYTE | VM_OC_PUT_BLOCK) \ |
| 412 | + VM_OC_CALL | VM_OC_PUT_BLOCK) \ |
413 | 413 | CBC_OPCODE (CBC_CALL0, CBC_NO_FLAG, -1, \ |
414 | 414 | VM_OC_CALL) \ |
415 | 415 | CBC_OPCODE (CBC_CALL0_PUSH_RESULT, CBC_NO_FLAG, 0, \ |
|
0 commit comments