Performing do_strict_eval_or_arguments_check check only under !JERRY_NDEBUG.

This commit is contained in:
Ruben Ayrapetyan
2014-11-13 14:28:45 +03:00
parent 83c8007437
commit 11f0cf9a2d
+10 -20
View File
@@ -79,7 +79,7 @@ ecma_completion_value_t
get_variable_value (int_data_t *int_data, /**< interpreter context */ get_variable_value (int_data_t *int_data, /**< interpreter context */
idx_t var_idx, /**< variable identifier */ idx_t var_idx, /**< variable identifier */
bool do_eval_or_arguments_check) /** run 'strict eval or arguments reference' check bool do_eval_or_arguments_check) /** run 'strict eval or arguments reference' check
See also: do_strict_eval_arguments_check */ See also: do_strict_eval_arguments_check */
{ {
ecma_completion_value_t ret_value; ecma_completion_value_t ret_value;
@@ -101,16 +101,11 @@ get_variable_value (int_data_t *int_data, /**< interpreter context */
var_name_string_p, var_name_string_p,
int_data->is_strict); int_data->is_strict);
if (unlikely (do_eval_or_arguments_check /* SyntaxError should be treated as an early error */
&& do_strict_eval_arguments_check (ref))) JERRY_ASSERT (!do_eval_or_arguments_check
{ || !do_strict_eval_arguments_check (ref));
/* SyntaxError should be treated as an early error */
JERRY_UNREACHABLE (); ret_value = ecma_op_get_value (ref);
}
else
{
ret_value = ecma_op_get_value (ref);
}
ecma_deref_ecma_string (var_name_string_p); ecma_deref_ecma_string (var_name_string_p);
ecma_free_reference (ref); ecma_free_reference (ref);
@@ -155,15 +150,10 @@ set_variable_value (int_data_t *int_data, /**< interpreter context */
var_name_string_p, var_name_string_p,
int_data->is_strict); int_data->is_strict);
if (unlikely (do_strict_eval_arguments_check (ref))) /* SyntaxError should be treated as an early error */
{ JERRY_ASSERT (!do_strict_eval_arguments_check (ref));
/* SyntaxError should be treated as an early error */
JERRY_UNREACHABLE (); ret_value = ecma_op_put_value (ref, value);
}
else
{
ret_value = ecma_op_put_value (ref, value);
}
ecma_deref_ecma_string (var_name_string_p); ecma_deref_ecma_string (var_name_string_p);
ecma_free_reference (ref); ecma_free_reference (ref);