Properly implement static class fields. (#4221)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
@@ -652,8 +652,14 @@
|
||||
VM_OC_SET_SETTER | VM_OC_GET_STACK_STACK) \
|
||||
CBC_OPCODE (CBC_EXT_SET__PROTO__, CBC_NO_FLAG, -1, \
|
||||
VM_OC_SET__PROTO__ | VM_OC_GET_STACK) \
|
||||
CBC_OPCODE (CBC_EXT_PUSH_STATIC_FIELD_FUNC, CBC_HAS_LITERAL_ARG, 1, \
|
||||
VM_OC_PUSH_STATIC_FIELD_FUNC | VM_OC_GET_LITERAL) \
|
||||
CBC_OPCODE (CBC_EXT_PUSH_STATIC_COMPUTED_FIELD_FUNC, CBC_HAS_LITERAL_ARG, 0, \
|
||||
VM_OC_PUSH_STATIC_FIELD_FUNC | VM_OC_GET_LITERAL) \
|
||||
CBC_OPCODE (CBC_EXT_ADD_COMPUTED_FIELD, CBC_NO_FLAG, -1, \
|
||||
VM_OC_ADD_COMPUTED_FIELD | VM_OC_GET_STACK) \
|
||||
CBC_OPCODE (CBC_EXT_ADD_STATIC_COMPUTED_FIELD, CBC_NO_FLAG, -1, \
|
||||
VM_OC_ADD_COMPUTED_FIELD | VM_OC_GET_STACK) \
|
||||
\
|
||||
/* Class related opcodes. */ \
|
||||
CBC_OPCODE (CBC_EXT_PUSH_NAMED_CLASS_ENV, CBC_HAS_LITERAL_ARG, 1, \
|
||||
@@ -670,10 +676,12 @@
|
||||
VM_OC_FINALIZE_CLASS | VM_OC_GET_LITERAL) \
|
||||
CBC_OPCODE (CBC_EXT_FINALIZE_ANONYMOUS_CLASS, CBC_NO_FLAG, -2, \
|
||||
VM_OC_FINALIZE_CLASS) \
|
||||
CBC_OPCODE (CBC_EXT_SET_CLASS_FIELD_INIT, CBC_HAS_LITERAL_ARG, 0, \
|
||||
VM_OC_SET_CLASS_FIELD_INIT | VM_OC_GET_LITERAL) \
|
||||
CBC_OPCODE (CBC_EXT_RUN_CLASS_FIELD_INIT, CBC_NO_FLAG, 0, \
|
||||
VM_OC_RUN_CLASS_FIELD_INIT) \
|
||||
CBC_OPCODE (CBC_EXT_SET_FIELD_INIT, CBC_HAS_LITERAL_ARG, 0, \
|
||||
VM_OC_SET_FIELD_INIT | VM_OC_GET_LITERAL) \
|
||||
CBC_OPCODE (CBC_EXT_RUN_FIELD_INIT, CBC_NO_FLAG, 0, \
|
||||
VM_OC_RUN_FIELD_INIT) \
|
||||
CBC_OPCODE (CBC_EXT_RUN_STATIC_FIELD_INIT, CBC_NO_FLAG, -1, \
|
||||
VM_OC_RUN_STATIC_FIELD_INIT) \
|
||||
CBC_OPCODE (CBC_EXT_SET_NEXT_COMPUTED_FIELD, CBC_NO_FLAG, -1, \
|
||||
VM_OC_SET_NEXT_COMPUTED_FIELD | VM_OC_PUT_REFERENCE) \
|
||||
CBC_OPCODE (CBC_EXT_PUSH_SUPER, CBC_NO_FLAG, 1, \
|
||||
|
||||
Reference in New Issue
Block a user