|
236 | 236 | CBC_BACKWARD_BRANCH (CBC_BRANCH_IF_FALSE_BACKWARD, -1, \
|
237 | 237 | VM_OC_BRANCH_IF_FALSE) \
|
238 | 238 | CBC_OPCODE (CBC_SET_PROPERTY, CBC_HAS_LITERAL_ARG, -1, \
|
239 |
| - VM_OC_SET_PROPERTY | VM_OC_GET_STACK_LITERAL) \ |
| 239 | + VM_OC_SET_PROPERTY | VM_OC_NON_STATIC_FLAG | VM_OC_GET_STACK_LITERAL) \ |
240 | 240 | CBC_FORWARD_BRANCH (CBC_JUMP_FORWARD_EXIT_CONTEXT, 0, \
|
241 | 241 | VM_OC_JUMP_AND_EXIT_CONTEXT) \
|
242 | 242 | CBC_OPCODE (CBC_CREATE_ARRAY, CBC_NO_FLAG, 1, \
|
|
318 | 318 | CBC_OPCODE (CBC_RETURN_WITH_LITERAL, CBC_HAS_LITERAL_ARG, 0, \
|
319 | 319 | VM_OC_RET | VM_OC_GET_LITERAL) \
|
320 | 320 | CBC_OPCODE (CBC_SET_LITERAL_PROPERTY, CBC_HAS_LITERAL_ARG | CBC_HAS_LITERAL_ARG2, 0, \
|
321 |
| - VM_OC_SET_PROPERTY | VM_OC_GET_LITERAL_LITERAL) \ |
| 321 | + VM_OC_SET_PROPERTY | VM_OC_NON_STATIC_FLAG | VM_OC_GET_LITERAL_LITERAL) \ |
322 | 322 | CBC_OPCODE (CBC_BREAKPOINT_ENABLED, CBC_NO_FLAG, 0, \
|
323 | 323 | VM_OC_BREAKPOINT_ENABLED) \
|
324 | 324 | CBC_OPCODE (CBC_BREAKPOINT_DISABLED, CBC_NO_FLAG, 0, \
|
|
522 | 522 | CBC_FORWARD_BRANCH (CBC_EXT_FOR_IN_CREATE_CONTEXT, \
|
523 | 523 | -1 + PARSER_FOR_IN_CONTEXT_STACK_ALLOCATION, VM_OC_FOR_IN_CREATE_CONTEXT) \
|
524 | 524 | CBC_OPCODE (CBC_EXT_SET_GETTER, CBC_HAS_LITERAL_ARG | CBC_HAS_LITERAL_ARG2, 0, \
|
525 |
| - VM_OC_SET_GETTER | VM_OC_GET_LITERAL_LITERAL) \ |
| 525 | + VM_OC_SET_GETTER | VM_OC_NON_STATIC_FLAG | VM_OC_GET_LITERAL_LITERAL) \ |
526 | 526 | CBC_BACKWARD_BRANCH (CBC_EXT_BRANCH_IF_FOR_IN_HAS_NEXT, 0, \
|
527 | 527 | VM_OC_FOR_IN_HAS_NEXT) \
|
528 | 528 | CBC_OPCODE (CBC_EXT_SET_SETTER, CBC_HAS_LITERAL_ARG | CBC_HAS_LITERAL_ARG2, 0, \
|
529 |
| - VM_OC_SET_SETTER | VM_OC_GET_LITERAL_LITERAL) \ |
| 529 | + VM_OC_SET_SETTER | VM_OC_NON_STATIC_FLAG | VM_OC_GET_LITERAL_LITERAL) \ |
530 | 530 | CBC_FORWARD_BRANCH (CBC_EXT_TRY_CREATE_CONTEXT, PARSER_TRY_CONTEXT_STACK_ALLOCATION, \
|
531 | 531 | VM_OC_TRY) \
|
532 | 532 | CBC_OPCODE (CBC_EXT_THROW_REFERENCE_ERROR, CBC_NO_FLAG, 1, \
|
|
539 | 539 | VM_OC_FINALLY) \
|
540 | 540 | \
|
541 | 541 | /* Basic opcodes. */ \
|
542 |
| - CBC_OPCODE (CBC_EXT_DEBUGGER, CBC_NO_FLAG, 0, \ |
543 |
| - VM_OC_NONE) \ |
544 | 542 | CBC_OPCODE (CBC_EXT_PUSH_LITERAL_PUSH_NUMBER_0, CBC_HAS_LITERAL_ARG, 2, \
|
545 | 543 | VM_OC_PUSH_LIT_0 | VM_OC_GET_LITERAL) \
|
546 | 544 | CBC_OPCODE (CBC_EXT_PUSH_LITERAL_PUSH_NUMBER_POS_BYTE, CBC_HAS_LITERAL_ARG | CBC_HAS_BYTE_ARG, 2, \
|
|
551 | 549 | VM_OC_RESOURCE_NAME) \
|
552 | 550 | CBC_OPCODE (CBC_EXT_LINE, CBC_NO_FLAG, 0, \
|
553 | 551 | VM_OC_LINE) \
|
554 |
| - CBC_OPCODE (CBC_EXT_SET_STATIC_PROPERTY, CBC_HAS_LITERAL_ARG | CBC_HAS_LITERAL_ARG2, 0, \ |
| 552 | + CBC_OPCODE (CBC_EXT_SET_COMPUTED_PROPERTY, CBC_NO_FLAG, -2, \ |
| 553 | + VM_OC_SET_COMPUTED_PROPERTY | VM_OC_NON_STATIC_FLAG | VM_OC_GET_STACK_STACK) \ |
| 554 | + CBC_OPCODE (CBC_EXT_SET_COMPUTED_PROPERTY_LITERAL, CBC_HAS_LITERAL_ARG, -1, \ |
| 555 | + VM_OC_SET_COMPUTED_PROPERTY | VM_OC_NON_STATIC_FLAG | VM_OC_GET_STACK_LITERAL) \ |
| 556 | + CBC_OPCODE (CBC_EXT_SET_COMPUTED_GETTER, CBC_HAS_LITERAL_ARG, -1, \ |
| 557 | + VM_OC_SET_GETTER | VM_OC_NON_STATIC_FLAG | VM_OC_GET_STACK_LITERAL) \ |
| 558 | + CBC_OPCODE (CBC_EXT_SET_COMPUTED_SETTER, CBC_HAS_LITERAL_ARG, -1, \ |
| 559 | + VM_OC_SET_SETTER | VM_OC_NON_STATIC_FLAG | VM_OC_GET_STACK_LITERAL) \ |
| 560 | + CBC_OPCODE (CBC_EXT_SET_STATIC_PROPERTY_LITERAL, CBC_HAS_LITERAL_ARG | CBC_HAS_LITERAL_ARG2, 0, \ |
555 | 561 | VM_OC_SET_PROPERTY | VM_OC_GET_LITERAL_LITERAL) \
|
556 |
| - CBC_OPCODE (CBC_EXT_SET_STATIC_SETTER, CBC_HAS_LITERAL_ARG | CBC_HAS_LITERAL_ARG2, 0, \ |
557 |
| - VM_OC_SET_SETTER | VM_OC_GET_LITERAL_LITERAL) \ |
| 562 | + CBC_OPCODE (CBC_EXT_SET_STATIC_COMPUTED_PROPERTY_LITERAL, CBC_HAS_LITERAL_ARG, -1, \ |
| 563 | + VM_OC_SET_COMPUTED_PROPERTY | VM_OC_GET_STACK_LITERAL) \ |
558 | 564 | CBC_OPCODE (CBC_EXT_SET_STATIC_GETTER, CBC_HAS_LITERAL_ARG | CBC_HAS_LITERAL_ARG2, 0, \
|
559 | 565 | VM_OC_SET_GETTER | VM_OC_GET_LITERAL_LITERAL) \
|
| 566 | + CBC_OPCODE (CBC_EXT_SET_STATIC_SETTER, CBC_HAS_LITERAL_ARG | CBC_HAS_LITERAL_ARG2, 0, \ |
| 567 | + VM_OC_SET_SETTER | VM_OC_GET_LITERAL_LITERAL) \ |
| 568 | + CBC_OPCODE (CBC_EXT_SET_STATIC_COMPUTED_GETTER, CBC_HAS_LITERAL_ARG, -1, \ |
| 569 | + VM_OC_SET_GETTER | VM_OC_GET_STACK_LITERAL) \ |
| 570 | + CBC_OPCODE (CBC_EXT_SET_STATIC_COMPUTED_SETTER, CBC_HAS_LITERAL_ARG, -1, \ |
| 571 | + VM_OC_SET_SETTER | VM_OC_GET_STACK_LITERAL) \ |
560 | 572 | \
|
561 | 573 | /* Binary compound assignment opcodes with pushing the result. */ \
|
562 | 574 | CBC_EXT_BINARY_LVALUE_OPERATION (CBC_EXT_ASSIGN_ADD, \
|
|
0 commit comments