Parser refactoring. Remove deserializer notion.
This commit is contained in:
@@ -30,7 +30,7 @@
|
||||
#include "ecma-objects-general.h"
|
||||
#include "ecma-reference.h"
|
||||
#include "ecma-try-catch-macro.h"
|
||||
#include "deserializer.h"
|
||||
#include "serializer.h"
|
||||
|
||||
bool is_reg_variable (int_data_t *int_data, idx_t var_idx);
|
||||
ecma_completion_value_t get_variable_value (int_data_t *, idx_t, bool);
|
||||
|
||||
@@ -62,8 +62,9 @@ opfunc_try_block (opcode_t opdata, /**< operation data */
|
||||
JERRY_ASSERT (next_opcode.op_idx == __op__idx_meta);
|
||||
JERRY_ASSERT (next_opcode.data.meta.type == OPCODE_META_TYPE_CATCH_EXCEPTION_IDENTIFIER);
|
||||
|
||||
const literal_index_t catch_exc_val_var_name_lit_idx = deserialize_lit_id_by_uid (next_opcode.data.meta.data_1,
|
||||
int_data->pos);
|
||||
const literal_index_t catch_exc_val_var_name_lit_idx = serializer_get_literal_id_by_uid (
|
||||
next_opcode.data.meta.data_1,
|
||||
int_data->pos);
|
||||
int_data->pos++;
|
||||
|
||||
ecma_string_t *catch_exc_var_name_str_p = ecma_new_ecma_string_from_lit_index (catch_exc_val_var_name_lit_idx);
|
||||
|
||||
@@ -91,7 +91,7 @@ get_variable_value (int_data_t *int_data, /**< interpreter context */
|
||||
else
|
||||
{
|
||||
ecma_string_t var_name_string;
|
||||
const literal_index_t lit_id = deserialize_lit_id_by_uid (var_idx, int_data->pos);
|
||||
const literal_index_t lit_id = serializer_get_literal_id_by_uid (var_idx, int_data->pos);
|
||||
JERRY_ASSERT (lit_id != INVALID_LITERAL);
|
||||
ecma_new_ecma_string_on_stack_from_lit_index (&var_name_string, lit_id);
|
||||
|
||||
@@ -158,7 +158,7 @@ set_variable_value (int_data_t *int_data, /**< interpreter context */
|
||||
else
|
||||
{
|
||||
ecma_string_t var_name_string;
|
||||
const literal_index_t lit_id = deserialize_lit_id_by_uid (var_idx, lit_oc);
|
||||
const literal_index_t lit_id = serializer_get_literal_id_by_uid (var_idx, lit_oc);
|
||||
JERRY_ASSERT (lit_id != INVALID_LITERAL);
|
||||
ecma_new_ecma_string_on_stack_from_lit_index (&var_name_string, lit_id);
|
||||
|
||||
|
||||
@@ -96,7 +96,8 @@ fill_params_list (int_data_t *int_data, /**< interpreter context */
|
||||
JERRY_ASSERT (next_opcode.op_idx == __op__idx_meta);
|
||||
JERRY_ASSERT (next_opcode.data.meta.type == OPCODE_META_TYPE_VARG);
|
||||
|
||||
const literal_index_t param_name_lit_idx = deserialize_lit_id_by_uid (next_opcode.data.meta.data_1, int_data->pos);
|
||||
const literal_index_t param_name_lit_idx = serializer_get_literal_id_by_uid (next_opcode.data.meta.data_1,
|
||||
int_data->pos);
|
||||
|
||||
params_names [param_index] = ecma_new_ecma_string_from_lit_index (param_name_lit_idx);
|
||||
|
||||
|
||||
+14
-14
@@ -13,11 +13,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "deserializer.h"
|
||||
#include "jrt.h"
|
||||
#include "vm.h"
|
||||
#include "opcodes.h"
|
||||
#include "opcodes-ecma-support.h"
|
||||
#include "serializer.h"
|
||||
#include "vm.h"
|
||||
|
||||
/**
|
||||
* Note:
|
||||
@@ -98,7 +98,7 @@ opfunc_assignment (opcode_t opdata, /**< operation data */
|
||||
}
|
||||
else if (type_value_right == OPCODE_ARG_TYPE_STRING)
|
||||
{
|
||||
const literal_index_t lit_id = deserialize_lit_id_by_uid (src_val_descr, int_data->pos);
|
||||
const literal_index_t lit_id = serializer_get_literal_id_by_uid (src_val_descr, int_data->pos);
|
||||
ecma_string_t *string_p = ecma_new_ecma_string_from_lit_index (lit_id);
|
||||
|
||||
ret_value = set_variable_value (int_data,
|
||||
@@ -127,8 +127,8 @@ opfunc_assignment (opcode_t opdata, /**< operation data */
|
||||
{
|
||||
ecma_number_t *num_p = int_data->tmp_num_p;
|
||||
|
||||
const literal_index_t lit_id = deserialize_lit_id_by_uid (src_val_descr, int_data->pos);
|
||||
const literal lit = deserialize_literal_by_id (lit_id);
|
||||
const literal_index_t lit_id = serializer_get_literal_id_by_uid (src_val_descr, int_data->pos);
|
||||
const literal lit = serializer_get_literal_by_id (lit_id);
|
||||
JERRY_ASSERT (lit.type == LIT_NUMBER);
|
||||
|
||||
*num_p = lit.data.num;
|
||||
@@ -142,8 +142,8 @@ opfunc_assignment (opcode_t opdata, /**< operation data */
|
||||
{
|
||||
ecma_number_t *num_p = int_data->tmp_num_p;
|
||||
|
||||
const literal_index_t lit_id = deserialize_lit_id_by_uid (src_val_descr, int_data->pos);
|
||||
const literal lit = deserialize_literal_by_id (lit_id);
|
||||
const literal_index_t lit_id = serializer_get_literal_id_by_uid (src_val_descr, int_data->pos);
|
||||
const literal lit = serializer_get_literal_by_id (lit_id);
|
||||
JERRY_ASSERT (lit.type == LIT_NUMBER);
|
||||
|
||||
*num_p = ecma_number_negate (lit.data.num);
|
||||
@@ -397,8 +397,8 @@ ecma_completion_value_t
|
||||
opfunc_var_decl (opcode_t opdata, /**< operation data */
|
||||
int_data_t *int_data) /**< interpreter context */
|
||||
{
|
||||
const literal_index_t lit_id = deserialize_lit_id_by_uid (opdata.data.var_decl.variable_name,
|
||||
int_data->pos);
|
||||
const literal_index_t lit_id = serializer_get_literal_id_by_uid (opdata.data.var_decl.variable_name,
|
||||
int_data->pos);
|
||||
JERRY_ASSERT (lit_id != INVALID_LITERAL);
|
||||
|
||||
ecma_string_t *var_name_string_p = ecma_new_ecma_string_from_lit_index (lit_id);
|
||||
@@ -487,8 +487,8 @@ opfunc_func_decl_n (opcode_t opdata, /**< operation data */
|
||||
const idx_t function_name_idx = opdata.data.func_decl_n.name_lit_idx;
|
||||
const ecma_length_t params_number = opdata.data.func_decl_n.arg_list;
|
||||
|
||||
literal_index_t function_name_lit_id = deserialize_lit_id_by_uid (function_name_idx,
|
||||
int_data->pos);
|
||||
literal_index_t function_name_lit_id = serializer_get_literal_id_by_uid (function_name_idx,
|
||||
int_data->pos);
|
||||
|
||||
int_data->pos++;
|
||||
|
||||
@@ -563,7 +563,7 @@ opfunc_func_expr_n (opcode_t opdata, /**< operation data */
|
||||
{
|
||||
scope_p = ecma_create_decl_lex_env (int_data->lex_env_p);
|
||||
|
||||
const literal_index_t lit_id = deserialize_lit_id_by_uid (function_name_lit_idx, lit_oc);
|
||||
const literal_index_t lit_id = serializer_get_literal_id_by_uid (function_name_lit_idx, lit_oc);
|
||||
JERRY_ASSERT (lit_id != INVALID_LITERAL);
|
||||
|
||||
function_name_string_p = ecma_new_ecma_string_from_lit_index (lit_id);
|
||||
@@ -1389,7 +1389,7 @@ evaluate_arg_for_typeof (int_data_t *int_data, /**< interpreter context */
|
||||
}
|
||||
else
|
||||
{
|
||||
const literal_index_t lit_id = deserialize_lit_id_by_uid (var_idx, int_data->pos);
|
||||
const literal_index_t lit_id = serializer_get_literal_id_by_uid (var_idx, int_data->pos);
|
||||
JERRY_ASSERT (lit_id != INVALID_LITERAL);
|
||||
|
||||
ecma_string_t *var_name_string_p = ecma_new_ecma_string_from_lit_index (lit_id);
|
||||
@@ -1505,7 +1505,7 @@ opfunc_delete_var (opcode_t opdata, /**< operation data */
|
||||
|
||||
ecma_completion_value_t ret_value;
|
||||
|
||||
const literal_index_t lit_id = deserialize_lit_id_by_uid (name_lit_idx, lit_oc);
|
||||
const literal_index_t lit_id = serializer_get_literal_id_by_uid (name_lit_idx, lit_oc);
|
||||
JERRY_ASSERT (lit_id != INVALID_LITERAL);
|
||||
|
||||
ecma_string_t *name_string_p = ecma_new_ecma_string_from_lit_index (lit_id);
|
||||
|
||||
@@ -13,16 +13,16 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "jrt.h"
|
||||
#ifdef JERRY_ENABLE_PRETTY_PRINTER
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "pretty-printer.h"
|
||||
#include "jrt-libc-includes.h"
|
||||
#include "lexer.h"
|
||||
#include "deserializer.h"
|
||||
#include "opcodes-native-call.h"
|
||||
#include "ecma-helpers.h"
|
||||
#include "ecma-globals.h"
|
||||
#include <stdarg.h>
|
||||
#include "serializer.h"
|
||||
|
||||
#define NAME_TO_ID(op) (__op__idx_##op)
|
||||
|
||||
@@ -79,7 +79,7 @@ dump_literal (literal lit)
|
||||
}
|
||||
|
||||
void
|
||||
pp_literals (const literal lits[], literal_index_t size)
|
||||
pp_literals (const literal *lits, literal_index_t size)
|
||||
{
|
||||
printf ("LITERALS %lu:\n", (unsigned long) size);
|
||||
for (literal_index_t i = 0; i < size; i++)
|
||||
@@ -160,7 +160,7 @@ var_to_str (opcode_t opcode, literal_index_t lit_ids[], opcode_counter_t oc, uin
|
||||
}
|
||||
else
|
||||
{
|
||||
return lit_id_to_str (deserialize_lit_id_by_uid (raw.uids[current_arg], oc));
|
||||
return lit_id_to_str (serializer_get_literal_id_by_uid (raw.uids[current_arg], oc));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,7 +241,7 @@ pp_op_meta (opcode_counter_t oc, op_meta opm, bool rewrite)
|
||||
{
|
||||
PP_OP (addition, "%s = %s + %s;");
|
||||
PP_OP (substraction, "%s = %s - %s;");
|
||||
PP_OP (division, "%s = %s - %s;");
|
||||
PP_OP (division, "%s = %s / %s;");
|
||||
PP_OP (multiplication, "%s = %s * %s;");
|
||||
PP_OP (remainder, "%s = %s %% %s;");
|
||||
PP_OP (unary_minus, "%s = -%s;");
|
||||
@@ -447,7 +447,7 @@ pp_op_meta (opcode_counter_t oc, op_meta opm, bool rewrite)
|
||||
while ((int16_t) start >= 0 && !found)
|
||||
{
|
||||
start--;
|
||||
switch (deserialize_opcode (start).op_idx)
|
||||
switch (serializer_get_opcode (start).op_idx)
|
||||
{
|
||||
case NAME_TO_ID (call_n):
|
||||
case NAME_TO_ID (native_call):
|
||||
@@ -462,7 +462,7 @@ pp_op_meta (opcode_counter_t oc, op_meta opm, bool rewrite)
|
||||
}
|
||||
}
|
||||
}
|
||||
opcode_t start_op = deserialize_opcode (start);
|
||||
opcode_t start_op = serializer_get_opcode (start);
|
||||
switch (start_op.op_idx)
|
||||
{
|
||||
case NAME_TO_ID (call_n):
|
||||
@@ -527,7 +527,7 @@ pp_op_meta (opcode_counter_t oc, op_meta opm, bool rewrite)
|
||||
}
|
||||
for (opcode_counter_t counter = start; counter <= oc; counter++)
|
||||
{
|
||||
opcode_t meta_op = deserialize_opcode (counter);
|
||||
opcode_t meta_op = serializer_get_opcode (counter);
|
||||
switch (meta_op.op_idx)
|
||||
{
|
||||
case NAME_TO_ID (meta):
|
||||
|
||||
Reference in New Issue
Block a user