mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Fix func_decl_0: correctly set interpreter's opcode counter.
This commit is contained in:
parent
99c15ef802
commit
cc4d55803c
@ -205,3 +205,12 @@ get_number_by_idx(T_IDX idx) /**< literal id */
|
||||
|
||||
return num;
|
||||
} /* get_number_by_idx */
|
||||
|
||||
/**
|
||||
* Get specified opcode from the program.
|
||||
*/
|
||||
OPCODE
|
||||
read_opcode(opcode_counter_t counter) /**< opcode counter */
|
||||
{
|
||||
return __program[ counter ];
|
||||
} /* read_opcode */
|
||||
|
||||
@ -43,5 +43,7 @@ ecma_completion_value_t run_int_from_pos (opcode_counter_t start_pos,
|
||||
ssize_t try_get_string_by_idx( T_IDX idx, ecma_char_t *buffer_p, ssize_t buffer_size);
|
||||
ecma_number_t get_number_by_idx(T_IDX idx);
|
||||
|
||||
OPCODE read_opcode(opcode_counter_t counter);
|
||||
|
||||
#endif /* INTERPRETER_H */
|
||||
|
||||
|
||||
@ -1338,8 +1338,9 @@ opfunc_func_decl_0(OPCODE opdata, /**< operation data */
|
||||
TODO( Iterate vargs );
|
||||
|
||||
const opcode_counter_t jmp_down_opcode_idx = (opcode_counter_t) (int_data->pos);
|
||||
|
||||
TODO( ASSERT( Current opcode is jmp_down ) );
|
||||
OPCODE jmp_down_opcode = read_opcode( jmp_down_opcode_idx );
|
||||
JERRY_ASSERT( jmp_down_opcode.op_idx == __op__idx_jmp_down );
|
||||
int_data->pos = (opcode_counter_t) ( jmp_down_opcode_idx + jmp_down_opcode.data.jmp_down.opcode_count );
|
||||
|
||||
const opcode_counter_t function_code_opcode_idx = (opcode_counter_t) (jmp_down_opcode_idx + 1);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user