This commit is contained in:
Ilmir Usmanov
2014-08-11 23:17:45 +04:00
parent 48cff24f08
commit 5373b60955
5 changed files with 1734 additions and 1174 deletions
+86 -86
View File
@@ -36,114 +36,114 @@ OPCODE;
typedef ecma_completion_value_t (*opfunc)(OPCODE, struct __int_data *);
#define OP_CALLS_AND_ARGS(op) \
op(call_0) \
op(call_1) \
op(call_n) \
op(construct_0) \
op(construct_1) \
op(construct_n) \
op(func_decl_0) \
op(func_decl_1) \
op(func_decl_2) \
op(func_decl_n) \
op(func_expr_0) \
op(func_expr_1) \
op(func_expr_n) \
op(varg_1_end) \
op(varg_2_end) \
op(varg_3) \
op(varg_3_end) \
op(exitval) \
op(retval) \
op(ret)
op (call_0) \
op (call_1) \
op (call_n) \
op (construct_0) \
op (construct_1) \
op (construct_n) \
op (func_decl_0) \
op (func_decl_1) \
op (func_decl_2) \
op (func_decl_n) \
op (func_expr_0) \
op (func_expr_1) \
op (func_expr_n) \
op (varg_1_end) \
op (varg_2_end) \
op (varg_3) \
op (varg_3_end) \
op (exitval) \
op (retval) \
op (ret)
#define OP_INITS(op) \
op(array_0) \
op(array_1) \
op(array_2) \
op(array_n) \
op(prop) \
op(prop_access) \
op(prop_get_decl) \
op(prop_set_decl) \
op(obj_0) \
op(obj_1) \
op(obj_2) \
op(obj_n) \
op(this) \
op(delete) \
op(typeof) \
op(with) \
op(end_with)
op (array_0) \
op (array_1) \
op (array_2) \
op (array_n) \
op (prop) \
op (prop_access) \
op (prop_get_decl) \
op (prop_set_decl) \
op (obj_0) \
op (obj_1) \
op (obj_2) \
op (obj_n) \
op (this) \
op (delete) \
op (typeof) \
op (with) \
op (end_with)
#define OP_ASSIGNMENTS(op) \
op(assignment)
op (assignment)
#define OP_B_SHIFTS(op) \
op(b_shift_left) \
op(b_shift_right) \
op(b_shift_uright)
op (b_shift_left) \
op (b_shift_right) \
op (b_shift_uright)
#define OP_B_BITWISE(op) \
op(b_and) \
op(b_or) \
op(b_xor) \
op(b_not)
op (b_and) \
op (b_or) \
op (b_xor) \
op (b_not)
#define OP_B_LOGICAL(op) \
op(logical_and) \
op(logical_or) \
op(logical_not)
op (logical_and) \
op (logical_or) \
op (logical_not)
#define OP_EQUALITY(op) \
op(equal_value) \
op(not_equal_value) \
op(equal_value_type) \
op(not_equal_value_type)
op (equal_value) \
op (not_equal_value) \
op (equal_value_type) \
op (not_equal_value_type)
#define OP_RELATIONAL(op) \
op(less_than) \
op(greater_than) \
op(less_or_equal_than) \
op(greater_or_equal_than) \
op(instanceof) \
op(in)
op (less_than) \
op (greater_than) \
op (less_or_equal_than) \
op (greater_or_equal_than) \
op (instanceof) \
op (in)
#define OP_ARITHMETIC(op) \
op(post_incr) \
op(post_decr) \
op(pre_incr) \
op(pre_decr) \
op(addition) \
op(substraction) \
op(division) \
op(multiplication) \
op(remainder)
op (post_incr) \
op (post_decr) \
op (pre_incr) \
op (pre_decr) \
op (addition) \
op (substraction) \
op (division) \
op (multiplication) \
op (remainder)
#define OP_UNCONDITIONAL_JUMPS(op) \
op(jmp) \
op(jmp_up) \
op(jmp_down) \
op(nop)
op (jmp) \
op (jmp_up) \
op (jmp_down) \
op (nop)
#define OP_UNARY_OPS(op) \
op(is_true_jmp) \
op(is_false_jmp)
op (is_true_jmp) \
op (is_false_jmp)
#define OP_LIST(op) \
OP_CALLS_AND_ARGS(op) \
OP_INITS(op) \
OP_ASSIGNMENTS(op) \
OP_B_LOGICAL(op) \
OP_B_BITWISE(op) \
OP_B_SHIFTS(op) \
OP_EQUALITY(op) \
OP_RELATIONAL(op) \
OP_ARITHMETIC(op) \
OP_UNCONDITIONAL_JUMPS(op) \
OP_UNARY_OPS(op) \
op(var_decl) \
op(reg_var_decl)
OP_CALLS_AND_ARGS (op) \
OP_INITS (op) \
OP_ASSIGNMENTS (op) \
OP_B_LOGICAL (op) \
OP_B_BITWISE (op) \
OP_B_SHIFTS (op) \
OP_EQUALITY (op) \
OP_RELATIONAL (op) \
OP_ARITHMETIC (op) \
OP_UNCONDITIONAL_JUMPS (op) \
OP_UNARY_OPS (op) \
op (var_decl) \
op (reg_var_decl)
#include "opcode-structures.h"