-
Notifications
You must be signed in to change notification settings - Fork 46
OP Code Table
Yazhong Liu edited this page Jan 17, 2019
·
4 revisions
00 VM_OC_POP, /**< pop from stack */
01 VM_OC_POP_BLOCK, /**< pop block */
02 VM_OC_PUSH, /**< push one element */
03 VM_OC_PUSH_TWO, /**< push two elements onto the stack */
04 VM_OC_PUSH_THREE, /**< push three elements onto the stack */
05 VM_OC_PUSH_UNDEFINED, /**< push undefined value */
06 VM_OC_PUSH_TRUE, /**< push true value */
07 VM_OC_PUSH_FALSE, /**< push false value */
08 VM_OC_PUSH_NULL, /**< push null value */
09 VM_OC_PUSH_THIS, /**< push this */
10 VM_OC_PUSH_NUMBER_0, /**< push number zero */
11 VM_OC_PUSH_NUMBER_POS_BYTE, /**< push number between 1 and 256 */
12 VM_OC_PUSH_NUMBER_NEG_BYTE, /**< push number between -1 and -256 */
13 VM_OC_PUSH_OBJECT, /**< push object */
14 VM_OC_PUSH_NAMED_FUNC_EXPR, /**< push named function expression */
15 VM_OC_SET_PROPERTY, /**< set property */
16 VM_OC_SET_COMPUTED_PROPERTY, /**< set computed property */
17 VM_OC_SET_GETTER, /**< set getter */
18 VM_OC_SET_SETTER, /**< set setter */
19 VM_OC_PUSH_UNDEFINED_BASE, /**< push undefined base */
20 VM_OC_PUSH_ARRAY, /**< push array */
21 VM_OC_PUSH_ELISON, /**< push elison */
22 VM_OC_APPEND_ARRAY, /**< append array */
23 VM_OC_IDENT_REFERENCE, /**< ident reference */
24 VM_OC_PROP_REFERENCE, /**< prop reference */
25 VM_OC_PROP_GET, /**< prop get */
26 VM_OC_PROP_PRE_INCR, /**< prefix increment of a property */
27 VM_OC_PROP_PRE_DECR, /**< prop prefix decrement of a property */
28 VM_OC_PROP_POST_INCR, /**< prop postfix increment of a property */
29 VM_OC_PROP_POST_DECR, /**< prop postfix decrement of a property */
30 VM_OC_PRE_INCR, /**< prefix increment */
- VM_OC_PRE_DECR, /**< prefix decrement */
- VM_OC_POST_INCR, /**< postfix increment */
- VM_OC_POST_DECR, /**< postfix decrement */
- VM_OC_PROP_DELETE, /**< delete property */
- VM_OC_DELETE, /**< delete */
- VM_OC_ASSIGN, /**< assign */
- VM_OC_ASSIGN_PROP, /**< assign property */
- VM_OC_ASSIGN_PROP_THIS, /**< assign prop this */
- VM_OC_RET, /**< return */
- VM_OC_THROW, /**< throw */
- VM_OC_THROW_REFERENCE_ERROR, /**< throw reference error */
- VM_OC_EVAL, /**< eval */
- VM_OC_CALL, /**< call */
- VM_OC_NEW, /**< new */
- VM_OC_JUMP, /**< jump */
- VM_OC_BRANCH_IF_STRICT_EQUAL, /**< branch if stric equal */
- VM_OC_BRANCH_IF_TRUE, /**< branch if true */
- VM_OC_BRANCH_IF_FALSE, /**< branch if false */
- VM_OC_BRANCH_IF_LOGICAL_TRUE, /**< branch if logical true */
- VM_OC_BRANCH_IF_LOGICAL_FALSE, /**< branch if logical false */
- VM_OC_PLUS, /**< unary plus */
- VM_OC_MINUS, /**< unary minus */
- VM_OC_NOT, /**< not */
- VM_OC_BIT_NOT, /**< bitwise not */
- VM_OC_VOID, /**< void */
- VM_OC_TYPEOF_IDENT, /**< typeof identifier */
- VM_OC_TYPEOF, /**< typeof */
- VM_OC_ADD, /**< binary add */
- VM_OC_SUB, /**< binary sub */
- VM_OC_MUL, /**< mul */
- VM_OC_DIV, /**< div */
- VM_OC_MOD, /**< mod */
- VM_OC_EQUAL, /**< equal */
- VM_OC_NOT_EQUAL, /**< not equal */
- VM_OC_STRICT_EQUAL, /**< strict equal */
- VM_OC_STRICT_NOT_EQUAL, /**< strict not equal */
- VM_OC_LESS, /**< less */
- VM_OC_GREATER, /**< greater */
- VM_OC_LESS_EQUAL, /**< less equal */
- VM_OC_GREATER_EQUAL, /**< greater equal */
- VM_OC_IN, /**< in */
- VM_OC_INSTANCEOF, /**< instanceof */
- VM_OC_BIT_OR, /**< bitwise or */
- VM_OC_BIT_XOR, /**< bitwise xor */
- VM_OC_BIT_AND, /**< bitwise and */
- VM_OC_LEFT_SHIFT, /**< left shift */
- VM_OC_RIGHT_SHIFT, /**< right shift */
- VM_OC_UNS_RIGHT_SHIFT, /**< unsigned right shift */
- VM_OC_WITH, /**< with */
- VM_OC_FOR_IN_CREATE_CONTEXT, /**< for in create context */
- VM_OC_FOR_IN_GET_NEXT, /**< get next */
- VM_OC_FOR_IN_HAS_NEXT, /**< has next */
- VM_OC_TRY, /**< try */
- VM_OC_CATCH, /**< catch */
- VM_OC_FINALLY, /**< finally */
- VM_OC_CONTEXT_END, /**< context end */
- VM_OC_JUMP_AND_EXIT_CONTEXT, /**< jump and exit context */
- VM_OC_CLASS_HERITAGE, /**< create a super class context */
- VM_OC_CLASS_INHERITANCE, /**< inherit properties from the 'super' class */
- VM_OC_PUSH_CLASS_CONSTRUCTOR, /**< push class constructor */
- VM_OC_SET_CLASS_CONSTRUCTOR, /**< set class constructor to the given function literal */
- VM_OC_PUSH_IMPL_CONSTRUCTOR, /**< create implicit class constructor */
- VM_OC_CLASS_EXPR_CONTEXT_END, /**< class expression heritage context end */
- VM_OC_CLASS_EVAL, /**< eval inside a class */
- VM_OC_SUPER_CALL, /**< call the 'super' constructor */
- VM_OC_SUPER_PROP_REFERENCE, /**< resolve super property reference */
- VM_OC_PUSH_SUPER, /**< push resolvable super reference */
- VM_OC_PUSH_CONSTRUCTOR_SUPER, /**< push 'super' inside a class constructor */
- VM_OC_PUSH_CONSTRUCTOR_THIS, /**< push 'this' inside a class constructor */
- VM_OC_CONSTRUCTOR_RET, /**< explicit return from a class constructor */
- VM_OC_BREAKPOINT_ENABLED, /**< enabled breakpoint for debugger */
- VM_OC_BREAKPOINT_DISABLED, /**< disabled breakpoint for debugger */
- VM_OC_NONE, /**< a special opcode for unsupported byte codes */