Reduce number of operand type handling conditional blocks in byte-code dumper, by extracting them to several separate routines that can be used for most cases, remove getop_* routines from vm.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
This commit is contained in:
@@ -1805,43 +1805,3 @@ vm_read_instr_counter_from_meta (opcode_meta_type expected_type, /**< expected t
|
||||
|
||||
return vm_calc_instr_counter_from_idx_idx (data_1, data_2);
|
||||
} /* vm_read_instr_counter_from_meta */
|
||||
|
||||
#define VM_OP_0(opcode_name, opcode_name_uppercase) \
|
||||
vm_instr_t getop_##opcode_name (void) \
|
||||
{ \
|
||||
vm_instr_t instr; \
|
||||
memset (&instr, 0, sizeof(instr)); \
|
||||
instr.op_idx = VM_OP_##opcode_name_uppercase; \
|
||||
return instr; \
|
||||
}
|
||||
#define VM_OP_1(opcode_name, opcode_name_uppercase, arg1, arg1_type) \
|
||||
vm_instr_t getop_##opcode_name (vm_idx_t arg1_v) \
|
||||
{ \
|
||||
vm_instr_t instr; \
|
||||
memset (&instr, 0, sizeof(instr)); \
|
||||
instr.op_idx = VM_OP_##opcode_name_uppercase; \
|
||||
instr.data.opcode_name.arg1 = arg1_v; \
|
||||
return instr; \
|
||||
}
|
||||
#define VM_OP_2(opcode_name, opcode_name_uppercase, arg1, arg1_type, arg2, arg2_type) \
|
||||
vm_instr_t getop_##opcode_name (vm_idx_t arg1_v, vm_idx_t arg2_v) \
|
||||
{ \
|
||||
vm_instr_t instr; \
|
||||
memset (&instr, 0, sizeof(instr)); \
|
||||
instr.op_idx = VM_OP_##opcode_name_uppercase; \
|
||||
instr.data.opcode_name.arg1 = arg1_v; \
|
||||
instr.data.opcode_name.arg2 = arg2_v; \
|
||||
return instr; \
|
||||
}
|
||||
#define VM_OP_3(opcode_name, opcode_name_uppercase, arg1, arg1_type, arg2, arg2_type, arg3, arg3_type) \
|
||||
vm_instr_t getop_##opcode_name (vm_idx_t arg1_v, vm_idx_t arg2_v, vm_idx_t arg3_v) \
|
||||
{ \
|
||||
vm_instr_t instr; \
|
||||
instr.op_idx = VM_OP_##opcode_name_uppercase; \
|
||||
instr.data.opcode_name.arg1 = arg1_v; \
|
||||
instr.data.opcode_name.arg2 = arg2_v; \
|
||||
instr.data.opcode_name.arg3 = arg3_v; \
|
||||
return instr; \
|
||||
}
|
||||
|
||||
#include "vm-opcodes.inc.h"
|
||||
|
||||
Reference in New Issue
Block a user