mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Determining if global code is strict code by checking if first opcode is 'meta' opcode of OPCODE_META_TYPE_STRICT_CODE type; setting 'configurableBindings' in 'var_decl' opcode to true if current code is eval code.
This commit is contained in:
parent
b529fc2da9
commit
b36f997ef2
@ -51,10 +51,17 @@ run_int (void)
|
||||
{
|
||||
JERRY_ASSERT (__program != NULL);
|
||||
|
||||
FIXME (Strict mode);
|
||||
const bool is_strict = false;
|
||||
bool is_strict = false;
|
||||
opcode_counter_t start_pos = 0;
|
||||
|
||||
opcode_t first_opcode = read_opcode (start_pos);
|
||||
if (first_opcode.op_idx == __op__idx_meta
|
||||
&& first_opcode.data.meta.type == OPCODE_META_TYPE_STRICT_CODE)
|
||||
{
|
||||
is_strict = true;
|
||||
start_pos++;
|
||||
}
|
||||
|
||||
const opcode_counter_t start_pos = 0;
|
||||
ecma_object_t *glob_obj_p = ecma_op_create_global_object ();
|
||||
ecma_object_t *lex_env_p = ecma_op_create_global_environment (glob_obj_p);
|
||||
ecma_value_t this_binding_value = ecma_make_object_value (glob_obj_p);
|
||||
|
||||
@ -422,11 +422,11 @@ opfunc_var_decl (opcode_t opdata, /**< operation data */
|
||||
if (ecma_is_completion_value_normal_false (ecma_op_has_binding (int_data->lex_env_p,
|
||||
var_name_string_p)))
|
||||
{
|
||||
FIXME ("Pass configurableBindings that is true if and only if current code is eval code");
|
||||
const bool is_configurable_bindings = int_data->is_eval_code;
|
||||
|
||||
ecma_completion_value_t completion = ecma_op_create_mutable_binding (int_data->lex_env_p,
|
||||
var_name_string_p,
|
||||
false);
|
||||
is_configurable_bindings);
|
||||
|
||||
JERRY_ASSERT (ecma_is_empty_completion_value (completion));
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user