Support of multiple bytecode arrays in interpreter and ecma-runtime.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
This commit is contained in:
@@ -448,7 +448,7 @@ function_declaration (int_data_t *int_data, /**< interpreter context */
|
||||
read_meta_opcode_counter (OPCODE_META_TYPE_FUNCTION_END, int_data) + int_data->pos);
|
||||
int_data->pos++;
|
||||
|
||||
opcode_scope_code_flags_t scope_flags = vm_get_scope_flags (int_data->pos++);
|
||||
opcode_scope_code_flags_t scope_flags = vm_get_scope_flags (int_data->opcodes_p, int_data->pos++);
|
||||
|
||||
if (scope_flags & OPCODE_SCOPE_CODE_FLAGS_STRICT)
|
||||
{
|
||||
@@ -467,6 +467,7 @@ function_declaration (int_data_t *int_data, /**< interpreter context */
|
||||
|
||||
ecma_completion_value_t ret_value = ecma_op_function_declaration (int_data->lex_env_p,
|
||||
function_name_string_p,
|
||||
int_data->opcodes_p,
|
||||
int_data->pos,
|
||||
args_names,
|
||||
args_number,
|
||||
@@ -556,7 +557,8 @@ opfunc_func_expr_n (opcode_t opdata, /**< operation data */
|
||||
int_data) + int_data->pos);
|
||||
int_data->pos++;
|
||||
|
||||
opcode_scope_code_flags_t scope_flags = vm_get_scope_flags (int_data->pos++);
|
||||
opcode_scope_code_flags_t scope_flags = vm_get_scope_flags (int_data->opcodes_p,
|
||||
int_data->pos++);
|
||||
|
||||
if (scope_flags & OPCODE_SCOPE_CODE_FLAGS_STRICT)
|
||||
{
|
||||
@@ -596,6 +598,7 @@ opfunc_func_expr_n (opcode_t opdata, /**< operation data */
|
||||
scope_p,
|
||||
is_strict,
|
||||
do_instantiate_arguments_object,
|
||||
int_data->opcodes_p,
|
||||
int_data->pos);
|
||||
|
||||
ret_value = set_variable_value (int_data, lit_oc,
|
||||
@@ -654,7 +657,7 @@ opfunc_call_n (opcode_t opdata, /**< operation data */
|
||||
idx_t this_arg_var_idx = INVALID_VALUE;
|
||||
idx_t args_number;
|
||||
|
||||
opcode_t next_opcode = vm_get_opcode (int_data->pos);
|
||||
opcode_t next_opcode = vm_get_opcode (int_data->opcodes_p, int_data->pos);
|
||||
if (next_opcode.op_idx == __op__idx_meta
|
||||
&& next_opcode.data.meta.type == OPCODE_META_TYPE_THIS_ARG)
|
||||
{
|
||||
@@ -918,7 +921,7 @@ opfunc_obj_decl (opcode_t opdata, /**< operation data */
|
||||
{
|
||||
JERRY_ASSERT (ecma_is_completion_value_empty (evaluate_prop_completion));
|
||||
|
||||
opcode_t next_opcode = vm_get_opcode (int_data->pos);
|
||||
opcode_t next_opcode = vm_get_opcode (int_data->opcodes_p, int_data->pos);
|
||||
JERRY_ASSERT (next_opcode.op_idx == __op__idx_meta);
|
||||
|
||||
const opcode_meta_type type = (opcode_meta_type) next_opcode.data.meta.type;
|
||||
@@ -1326,7 +1329,7 @@ opfunc_with (opcode_t opdata, /**< operation data */
|
||||
int_data->lex_env_p = new_env_p;
|
||||
|
||||
#ifndef JERRY_NDEBUG
|
||||
opcode_t meta_opcode = vm_get_opcode (with_end_oc);
|
||||
opcode_t meta_opcode = vm_get_opcode (int_data->opcodes_p, with_end_oc);
|
||||
JERRY_ASSERT (meta_opcode.op_idx == __op__idx_meta);
|
||||
JERRY_ASSERT (meta_opcode.data.meta.type == OPCODE_META_TYPE_END_WITH);
|
||||
#endif /* !JERRY_NDEBUG */
|
||||
@@ -1714,7 +1717,7 @@ opcode_counter_t
|
||||
read_meta_opcode_counter (opcode_meta_type expected_type, /**< expected type of meta opcode */
|
||||
int_data_t *int_data) /**< interpreter context */
|
||||
{
|
||||
opcode_t meta_opcode = vm_get_opcode (int_data->pos);
|
||||
opcode_t meta_opcode = vm_get_opcode (int_data->opcodes_p, int_data->pos);
|
||||
JERRY_ASSERT (meta_opcode.data.meta.type == expected_type);
|
||||
|
||||
const idx_t data_1 = meta_opcode.data.meta.data_1;
|
||||
|
||||
Reference in New Issue
Block a user