Remove var_decls_count field from scopes_tree header; getting "var_decl"s count using linked_list_get_length instead.

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
This commit is contained in:
Ruben Ayrapetyan 2015-10-07 19:43:06 +03:00
parent 0ef9c486c1
commit 4d2ad40475
4 changed files with 16 additions and 12 deletions

View File

@ -3085,7 +3085,7 @@ parse_source_element_list (bool is_global, /**< flag, indicating that we parsing
bool are_all_vars_replaced = true;
for (vm_instr_counter_t var_decl_pos = 0;
var_decl_pos < fe_scope_tree->var_decls_cout;
var_decl_pos < linked_list_get_length (fe_scope_tree->var_decls);
var_decl_pos++)
{
op_meta *om_p = (op_meta *) linked_list_element (fe_scope_tree->var_decls, var_decl_pos);
@ -3107,7 +3107,6 @@ parse_source_element_list (bool is_global, /**< flag, indicating that we parsing
linked_list_free (fe_scope_tree->var_decls);
fe_scope_tree->var_decls = linked_list_init (sizeof (op_meta));
fe_scope_tree->var_decls_cout = 0;
}
}
}

View File

@ -59,7 +59,7 @@ vm_instr_counter_t
scopes_tree_var_decls_num (scopes_tree t) /**< scope */
{
assert_tree (t);
return t->var_decls_cout;
return linked_list_get_length (t->var_decls);
} /* scopes_tree_var_decls_num */
void
@ -77,7 +77,7 @@ scopes_tree_add_var_decl (scopes_tree tree, /**< scope, to which variable declar
op_meta op) /**< variable declaration instruction */
{
assert_tree (tree);
linked_list_set_element (tree->var_decls, tree->var_decls_cout++, &op);
linked_list_set_element (tree->var_decls, linked_list_get_length (tree->var_decls), &op);
} /* scopes_tree_add_var_decl */
void
@ -114,7 +114,7 @@ scopes_tree_var_decl (scopes_tree tree, /**< scope, from which variable declarat
vm_instr_counter_t oc) /**< number of variable declaration in the scope */
{
assert_tree (tree);
JERRY_ASSERT (oc < tree->var_decls_cout);
JERRY_ASSERT (oc < linked_list_get_length (tree->var_decls));
return *(op_meta *) linked_list_element (tree->var_decls, oc);
} /* scopes_tree_var_decl */
@ -122,7 +122,7 @@ vm_instr_counter_t
scopes_tree_count_instructions (scopes_tree t)
{
assert_tree (t);
vm_instr_counter_t res = (vm_instr_counter_t) (t->instrs_count + t->var_decls_cout);
vm_instr_counter_t res = (vm_instr_counter_t) (t->instrs_count + linked_list_get_length (t->var_decls));
for (uint8_t i = 0; i < t->t.children_num; i++)
{
res = (vm_instr_counter_t) (
@ -588,7 +588,9 @@ scopes_tree_count_literals_in_blocks (scopes_tree tree) /**< scope */
result += count_new_literals_in_instr (om_p);
}
for (vm_instr_counter_t var_decl_pos = 0; var_decl_pos < tree->var_decls_cout; var_decl_pos++)
for (vm_instr_counter_t var_decl_pos = 0;
var_decl_pos < linked_list_get_length (tree->var_decls);
var_decl_pos++)
{
op_meta *om_p = extract_op_meta (tree->var_decls, var_decl_pos);
result += count_new_literals_in_instr (om_p);
@ -649,7 +651,9 @@ merge_subscopes (scopes_tree tree, /**< scopes tree to merge */
global_oc++;
}
for (vm_instr_counter_t var_decl_pos = 0; var_decl_pos < tree->var_decls_cout; var_decl_pos++)
for (vm_instr_counter_t var_decl_pos = 0;
var_decl_pos < linked_list_get_length (tree->var_decls);
var_decl_pos++)
{
data_p[global_oc] = generate_instr (tree->var_decls, var_decl_pos, lit_ids_p);
global_oc++;
@ -817,7 +821,6 @@ scopes_tree_init (scopes_tree parent, /**< parent scope */
tree->contains_delete = false;
tree->contains_functions = false;
tree->instrs = linked_list_init (sizeof (op_meta));
tree->var_decls_cout = 0;
tree->var_decls = linked_list_init (sizeof (op_meta));
return tree;
} /* scopes_tree_init */

View File

@ -63,7 +63,6 @@ typedef struct
linked_list instrs; /**< instructions */
vm_instr_counter_t instrs_count; /**< count of instructions */
linked_list var_decls; /**< instructions for variable declarations */
uint8_t var_decls_cout; /**< number of instructions for variable declarations */
scope_type_t type : 2; /**< scope type */
bool strict_mode: 1; /**< flag, indicating that scope's code should be executed in strict mode */
bool ref_arguments: 1; /**< flag, indicating that "arguments" variable is used inside the scope

View File

@ -133,7 +133,9 @@ serializer_dump_subscope (scopes_tree tree) /**< scope to dump */
}
scopes_tree_add_op_meta (current_scope, *om_p);
}
for (vm_instr_counter_t var_decl_pos = 0; var_decl_pos < tree->var_decls_cout; var_decl_pos++)
for (vm_instr_counter_t var_decl_pos = 0;
var_decl_pos < linked_list_get_length (tree->var_decls);
var_decl_pos++)
{
op_meta *om_p = (op_meta *) linked_list_element (tree->var_decls, var_decl_pos);
scopes_tree_add_op_meta (current_scope, *om_p);
@ -217,7 +219,8 @@ serializer_dump_op_meta (op_meta op)
void
serializer_dump_var_decl (op_meta op) /**< variable declaration instruction */
{
JERRY_ASSERT (scopes_tree_instrs_num (current_scope) + current_scope->var_decls_cout < MAX_OPCODES);
JERRY_ASSERT (scopes_tree_instrs_num (current_scope)
+ linked_list_get_length (current_scope->var_decls) < MAX_OPCODES);
scopes_tree_add_var_decl (current_scope, op);
} /* serializer_dump_var_decl */