diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-boolean-prototype.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-boolean-prototype.cpp index ab308957dc..b424e4b3e1 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-boolean-prototype.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-boolean-prototype.cpp @@ -56,7 +56,7 @@ static ecma_completion_value_t ecma_builtin_boolean_prototype_object_to_string (ecma_value_t this_arg) /**< this argument */ { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (value_of_ret, ecma_builtin_boolean_prototype_object_value_of (this_arg), diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-error-prototype.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-error-prototype.cpp index 72b096c1f6..890a1c7b70 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-error-prototype.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-error-prototype.cpp @@ -56,7 +56,7 @@ static ecma_completion_value_t ecma_builtin_error_prototype_object_to_string (ecma_value_t this_arg) /**< this argument */ { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); // 2. if (!ecma_is_value_object (this_arg)) diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-error.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-error.cpp index 6fac0d0c60..942c2e5f5c 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-error.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-error.cpp @@ -57,7 +57,7 @@ ecma_builtin_error_dispatch_call (const ecma_value_t *arguments_list_p, /**< arg if (arguments_list_len != 0 && !ecma_is_value_undefined (arguments_list_p [0])) { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (msg_str_value, ecma_op_to_string (arguments_list_p[0]), diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-evalerror.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-evalerror.cpp index 28461b4a03..a3677358fd 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-evalerror.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-evalerror.cpp @@ -57,7 +57,7 @@ ecma_builtin_eval_error_dispatch_call (const ecma_value_t *arguments_list_p, /** if (arguments_list_len != 0 && !ecma_is_value_undefined (arguments_list_p [0])) { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (msg_str_value, ecma_op_to_string (arguments_list_p[0]), diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-number.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-number.cpp index de9e05f662..95d45921d6 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-number.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-number.cpp @@ -55,7 +55,7 @@ ecma_builtin_number_dispatch_call (const ecma_value_t *arguments_list_p, /**< ar { JERRY_ASSERT (arguments_list_len == 0 || arguments_list_p != NULL); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); if (arguments_list_len == 0) { diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-object.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-object.cpp index 48bdb41826..553574f1f3 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-object.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-object.cpp @@ -53,7 +53,7 @@ ecma_builtin_object_dispatch_call (const ecma_value_t *arguments_list_p, /**< ar { JERRY_ASSERT (arguments_list_len == 0 || arguments_list_p != NULL); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); if (arguments_list_len == 0 || ecma_is_value_undefined (arguments_list_p[0]) @@ -311,7 +311,7 @@ ecma_builtin_object_object_define_property (ecma_value_t this_arg __attr_unused_ ecma_value_t arg2, /**< routine's second argument */ ecma_value_t arg3) /**< routine's third argument */ { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); if (!ecma_is_value_object (arg1)) { diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-rangeerror.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-rangeerror.cpp index 15fc350aee..cb8529a225 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-rangeerror.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-rangeerror.cpp @@ -57,7 +57,7 @@ ecma_builtin_range_error_dispatch_call (const ecma_value_t *arguments_list_p, /* if (arguments_list_len != 0 && !ecma_is_value_undefined (arguments_list_p [0])) { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (msg_str_value, ecma_op_to_string (arguments_list_p[0]), diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-referenceerror.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-referenceerror.cpp index bb271f497d..4fa65f3f4a 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-referenceerror.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-referenceerror.cpp @@ -57,7 +57,7 @@ ecma_builtin_reference_error_dispatch_call (const ecma_value_t *arguments_list_p if (arguments_list_len != 0 && !ecma_is_value_undefined (arguments_list_p [0])) { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (msg_str_value, ecma_op_to_string (arguments_list_p[0]), diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-string.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-string.cpp index d6a6a263ef..7fee5680de 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-string.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-string.cpp @@ -118,7 +118,7 @@ ecma_builtin_string_dispatch_call (const ecma_value_t *arguments_list_p, /**< ar { JERRY_ASSERT (arguments_list_len == 0 || arguments_list_p != NULL); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); if (arguments_list_len == 0) { diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-syntaxerror.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-syntaxerror.cpp index 1d262845a2..92b44808ad 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-syntaxerror.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-syntaxerror.cpp @@ -57,7 +57,7 @@ ecma_builtin_syntax_error_dispatch_call (const ecma_value_t *arguments_list_p, / if (arguments_list_len != 0 && !ecma_is_value_undefined (arguments_list_p [0])) { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (msg_str_value, ecma_op_to_string (arguments_list_p[0]), diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-typeerror.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-typeerror.cpp index 521ee17237..2472f726aa 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-typeerror.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-typeerror.cpp @@ -57,7 +57,7 @@ ecma_builtin_type_error_dispatch_call (const ecma_value_t *arguments_list_p, /** if (arguments_list_len != 0 && !ecma_is_value_undefined (arguments_list_p [0])) { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (msg_str_value, ecma_op_to_string (arguments_list_p[0]), diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-urierror.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-urierror.cpp index f1e7bb4805..957c1b69dd 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-urierror.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-urierror.cpp @@ -57,7 +57,7 @@ ecma_builtin_uri_error_dispatch_call (const ecma_value_t *arguments_list_p, /**< if (arguments_list_len != 0 && !ecma_is_value_undefined (arguments_list_p [0])) { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (msg_str_value, ecma_op_to_string (arguments_list_p[0]), diff --git a/jerry-core/ecma/operations/ecma-array-object.cpp b/jerry-core/ecma/operations/ecma-array-object.cpp index a53c14f56f..f7d344425b 100644 --- a/jerry-core/ecma/operations/ecma-array-object.cpp +++ b/jerry-core/ecma/operations/ecma-array-object.cpp @@ -233,7 +233,7 @@ ecma_op_array_object_define_own_property (ecma_object_t *obj_p, /**< the array o ecma_property_descriptor_t new_len_property_desc = *property_desc_p; new_len_property_desc.value = ecma_make_number_value (new_len_num_p); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); // f. if (new_len_uint32 >= old_len_uint32) diff --git a/jerry-core/ecma/operations/ecma-conversion.cpp b/jerry-core/ecma/operations/ecma-conversion.cpp index 87ca3fcd4d..c34acd7193 100644 --- a/jerry-core/ecma/operations/ecma-conversion.cpp +++ b/jerry-core/ecma/operations/ecma-conversion.cpp @@ -267,7 +267,7 @@ ecma_op_to_number (ecma_value_t value) /**< ecma-value */ } else if (ecma_is_value_object (value)) { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (primitive_value, ecma_op_to_primitive (value, ECMA_PREFERRED_TYPE_NUMBER), @@ -325,7 +325,7 @@ ecma_op_to_string (ecma_value_t value) /**< ecma-value */ if (unlikely (ecma_is_value_object (value))) { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (prim_value, ecma_op_to_primitive (value, ECMA_PREFERRED_TYPE_STRING), diff --git a/jerry-core/ecma/operations/ecma-function-object.cpp b/jerry-core/ecma/operations/ecma-function-object.cpp index bf763b7a67..62618c1e20 100644 --- a/jerry-core/ecma/operations/ecma-function-object.cpp +++ b/jerry-core/ecma/operations/ecma-function-object.cpp @@ -448,7 +448,7 @@ ecma_op_function_has_instance (ecma_object_t *func_obj_p, /**< Function object * ecma_string_t *prototype_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_PROTOTYPE); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (prototype_obj_value, ecma_op_object_get (func_obj_p, prototype_magic_string_p), @@ -521,7 +521,7 @@ ecma_op_function_call (ecma_object_t *func_obj_p, /**< Function object */ JERRY_ASSERT(ecma_op_is_callable (ecma_make_object_value (func_obj_p))); JERRY_ASSERT(arguments_list_len == 0 || arguments_list_p != NULL); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); if (ecma_get_object_type (func_obj_p) == ECMA_OBJECT_TYPE_FUNCTION) { @@ -648,7 +648,7 @@ ecma_op_function_construct_simple_or_external (ecma_object_t *func_obj_p, /**< F JERRY_ASSERT (ecma_get_object_type (func_obj_p) == ECMA_OBJECT_TYPE_FUNCTION || ecma_get_object_type (func_obj_p) == ECMA_OBJECT_TYPE_EXTERNAL_FUNCTION); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ecma_string_t *prototype_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_PROTOTYPE); @@ -839,7 +839,7 @@ ecma_op_function_declaration (ecma_object_t *lex_env_p, /**< lexical environment ecma_deref_object (glob_obj_p); } - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); if (ecma_is_completion_value_throw (completion)) { diff --git a/jerry-core/ecma/operations/ecma-get-put-value.cpp b/jerry-core/ecma/operations/ecma-get-put-value.cpp index 8527cb81a5..766a6aa2a1 100644 --- a/jerry-core/ecma/operations/ecma-get-put-value.cpp +++ b/jerry-core/ecma/operations/ecma-get-put-value.cpp @@ -103,7 +103,7 @@ ecma_op_get_value_object_base (ecma_reference_t ref) /**< ECMA-reference */ else { // 4.b case 2 - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (obj_base, ecma_op_to_object (base), ret_value); @@ -226,7 +226,7 @@ ecma_op_put_value_object_base (ecma_reference_t ref, /**< ECMA-reference */ JERRY_ASSERT (obj_p != NULL && !ecma_is_lexical_environment (obj_p)); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (put_ret_value, ecma_op_object_put (obj_p, @@ -245,7 +245,7 @@ ecma_op_put_value_object_base (ecma_reference_t ref, /**< ECMA-reference */ else { // 4.b case 2 - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); // sub_1. ECMA_TRY_CATCH (obj_base, ecma_op_to_object (base), ret_value); diff --git a/jerry-core/ecma/operations/ecma-objects-arguments.cpp b/jerry-core/ecma/operations/ecma-objects-arguments.cpp index 28287ad336..42a599f1f2 100644 --- a/jerry-core/ecma/operations/ecma-objects-arguments.cpp +++ b/jerry-core/ecma/operations/ecma-objects-arguments.cpp @@ -405,7 +405,7 @@ ecma_op_arguments_object_define_own_property (ecma_object_t *obj_p, /**< the obj ecma_property_t *mapped_prop_p = ecma_op_object_get_own_property (map_p, property_name_p); // 3. - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (defined, ecma_op_general_object_define_own_property (obj_p, @@ -499,7 +499,7 @@ ecma_op_arguments_object_delete (ecma_object_t *obj_p, /**< the object */ ecma_property_t *mapped_prop_p = ecma_op_object_get_own_property (map_p, property_name_p); // 3. - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (delete_in_args_ret, ecma_op_general_object_delete (obj_p, diff --git a/jerry-core/ecma/operations/ecma-objects-general.cpp b/jerry-core/ecma/operations/ecma-objects-general.cpp index 84d6e4fe44..3eab0fea16 100644 --- a/jerry-core/ecma/operations/ecma-objects-general.cpp +++ b/jerry-core/ecma/operations/ecma-objects-general.cpp @@ -288,7 +288,7 @@ ecma_op_general_object_put (ecma_object_t *obj_p, /**< the object */ ecma_object_t *setter_p = ecma_get_named_accessor_property_setter (desc_p); JERRY_ASSERT(setter_p != NULL); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (call_ret, ecma_op_function_call (setter_p, diff --git a/jerry-core/ecma/operations/ecma-try-catch-macro.h b/jerry-core/ecma/operations/ecma-try-catch-macro.h index 0919b55d45..5be485cdf7 100644 --- a/jerry-core/ecma/operations/ecma-try-catch-macro.h +++ b/jerry-core/ecma/operations/ecma-try-catch-macro.h @@ -30,6 +30,7 @@ * statement with same argument as corresponding ECMA_TRY_CATCH's first argument. */ #define ECMA_TRY_CATCH(var, op, return_value) \ + JERRY_ASSERT (return_value == ecma_make_empty_completion_value ()); \ ecma_completion_value_t var ## _completion = op; \ if (unlikely (ecma_is_completion_value_throw (var ## _completion) \ || ecma_is_completion_value_exit (var ## _completion))) \ diff --git a/jerry-core/vm/opcodes-agnostic.cpp b/jerry-core/vm/opcodes-agnostic.cpp index 7a026d24c6..b144a79e2f 100644 --- a/jerry-core/vm/opcodes-agnostic.cpp +++ b/jerry-core/vm/opcodes-agnostic.cpp @@ -31,7 +31,7 @@ opfunc_is_true_jmp_down (opcode_t opdata, /**< operation data */ const opcode_counter_t offset = calc_opcode_counter_from_idx_idx (opdata.data.is_true_jmp_down.opcode_1, opdata.data.is_true_jmp_down.opcode_2); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (cond_value, get_variable_value (int_data, cond_var_idx, false), ret_value); @@ -64,7 +64,7 @@ opfunc_is_true_jmp_up (opcode_t opdata, /**< operation data */ const opcode_counter_t offset = calc_opcode_counter_from_idx_idx (opdata.data.is_true_jmp_up.opcode_1, opdata.data.is_true_jmp_up.opcode_2); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (cond_value, get_variable_value (int_data, cond_var_idx, false), ret_value); @@ -103,7 +103,7 @@ opfunc_is_false_jmp_down (opcode_t opdata, /**< operation data */ const opcode_counter_t offset = calc_opcode_counter_from_idx_idx (opdata.data.is_false_jmp_down.opcode_1, opdata.data.is_false_jmp_down.opcode_2); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (cond_value, get_variable_value (int_data, cond_var_idx, false), ret_value); @@ -136,7 +136,7 @@ opfunc_is_false_jmp_up (opcode_t opdata, /**< operation data */ const opcode_counter_t offset = calc_opcode_counter_from_idx_idx (opdata.data.is_false_jmp_up.opcode_1, opdata.data.is_false_jmp_up.opcode_2); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (cond_value, get_variable_value (int_data, cond_var_idx, false), ret_value); diff --git a/jerry-core/vm/opcodes-ecma-arithmetics.cpp b/jerry-core/vm/opcodes-ecma-arithmetics.cpp index 2958b372bb..d87571e55b 100644 --- a/jerry-core/vm/opcodes-ecma-arithmetics.cpp +++ b/jerry-core/vm/opcodes-ecma-arithmetics.cpp @@ -110,7 +110,7 @@ opfunc_addition (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.addition.var_left; const idx_t right_var_idx = opdata.data.addition.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -176,7 +176,7 @@ opfunc_substraction (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.substraction.var_left; const idx_t right_var_idx = opdata.data.substraction.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -211,7 +211,7 @@ opfunc_multiplication (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.multiplication.var_left; const idx_t right_var_idx = opdata.data.multiplication.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -246,7 +246,7 @@ opfunc_division (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.division.var_left; const idx_t right_var_idx = opdata.data.division.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -281,7 +281,7 @@ opfunc_remainder (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.remainder.var_left; const idx_t right_var_idx = opdata.data.remainder.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); diff --git a/jerry-core/vm/opcodes-ecma-bitwise.cpp b/jerry-core/vm/opcodes-ecma-bitwise.cpp index c4e6b00d40..aa2462985f 100644 --- a/jerry-core/vm/opcodes-ecma-bitwise.cpp +++ b/jerry-core/vm/opcodes-ecma-bitwise.cpp @@ -126,7 +126,7 @@ opfunc_b_and (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.b_and.var_left; const idx_t right_var_idx = opdata.data.b_and.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -161,7 +161,7 @@ opfunc_b_or (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.b_or.var_left; const idx_t right_var_idx = opdata.data.b_or.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -196,7 +196,7 @@ opfunc_b_xor (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.b_xor.var_left; const idx_t right_var_idx = opdata.data.b_xor.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -231,7 +231,7 @@ opfunc_b_shift_left (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.b_shift_left.var_left; const idx_t right_var_idx = opdata.data.b_shift_left.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -266,7 +266,7 @@ opfunc_b_shift_right (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.b_shift_right.var_left; const idx_t right_var_idx = opdata.data.b_shift_right.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -301,7 +301,7 @@ opfunc_b_shift_uright (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.b_shift_uright.var_left; const idx_t right_var_idx = opdata.data.b_shift_uright.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -335,7 +335,7 @@ opfunc_b_not (opcode_t opdata, /**< operation data */ const idx_t dst_var_idx = opdata.data.b_not.dst; const idx_t right_var_idx = opdata.data.b_not.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); diff --git a/jerry-core/vm/opcodes-ecma-equality.cpp b/jerry-core/vm/opcodes-ecma-equality.cpp index bf8387ecbf..fc1c309d94 100644 --- a/jerry-core/vm/opcodes-ecma-equality.cpp +++ b/jerry-core/vm/opcodes-ecma-equality.cpp @@ -32,7 +32,7 @@ opfunc_equal_value (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.equal_value.var_left; const idx_t right_var_idx = opdata.data.equal_value.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -71,7 +71,7 @@ opfunc_not_equal_value (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.not_equal_value.var_left; const idx_t right_var_idx = opdata.data.not_equal_value.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -112,7 +112,7 @@ opfunc_equal_value_type (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.equal_value_type.var_left; const idx_t right_var_idx = opdata.data.equal_value_type.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -147,7 +147,7 @@ opfunc_not_equal_value_type (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.not_equal_value_type.var_left; const idx_t right_var_idx = opdata.data.not_equal_value_type.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); diff --git a/jerry-core/vm/opcodes-ecma-relational.cpp b/jerry-core/vm/opcodes-ecma-relational.cpp index 08e74c7691..9de9b02e2c 100644 --- a/jerry-core/vm/opcodes-ecma-relational.cpp +++ b/jerry-core/vm/opcodes-ecma-relational.cpp @@ -32,7 +32,7 @@ opfunc_less_than (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.less_than.var_left; const idx_t right_var_idx = opdata.data.less_than.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -80,7 +80,7 @@ opfunc_greater_than (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.greater_than.var_left; const idx_t right_var_idx = opdata.data.greater_than.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -128,7 +128,7 @@ opfunc_less_or_equal_than (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.less_or_equal_than.var_left; const idx_t right_var_idx = opdata.data.less_or_equal_than.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -183,7 +183,7 @@ opfunc_greater_or_equal_than (opcode_t opdata, /**< operation data */ const idx_t left_var_idx = opdata.data.greater_or_equal_than.var_left; const idx_t right_var_idx = opdata.data.greater_or_equal_than.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -238,7 +238,7 @@ opfunc_instanceof (opcode_t opdata __attr_unused___, /**< operation data */ const idx_t left_var_idx = opdata.data.instanceof.var_left; const idx_t right_var_idx = opdata.data.instanceof.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -284,7 +284,7 @@ opfunc_in (opcode_t opdata __attr_unused___, /**< operation data */ const idx_t left_var_idx = opdata.data.in.var_left; const idx_t right_var_idx = opdata.data.in.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (left_value, get_variable_value (int_data, left_var_idx, false), ret_value); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); diff --git a/jerry-core/vm/opcodes-helpers-variables.cpp b/jerry-core/vm/opcodes-helpers-variables.cpp index e7ee24ce4b..db8b673915 100644 --- a/jerry-core/vm/opcodes-helpers-variables.cpp +++ b/jerry-core/vm/opcodes-helpers-variables.cpp @@ -77,7 +77,7 @@ get_variable_value (int_data_t *int_data, /**< interpreter context */ bool do_eval_or_arguments_check) /** run 'strict eval or arguments reference' check See also: do_strict_eval_arguments_check */ { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); if (is_reg_variable (int_data, var_idx)) { @@ -129,7 +129,7 @@ set_variable_value (int_data_t *int_data, /**< interpreter context */ idx_t var_idx, /**< variable identifier */ ecma_value_t value) /**< value to set */ { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); if (is_reg_variable (int_data, var_idx)) { diff --git a/jerry-core/vm/opcodes.cpp b/jerry-core/vm/opcodes.cpp index 2c82191cd9..7c8e0b9fda 100644 --- a/jerry-core/vm/opcodes.cpp +++ b/jerry-core/vm/opcodes.cpp @@ -87,7 +87,7 @@ opfunc_assignment (opcode_t opdata, /**< operation data */ const opcode_arg_type_operand type_value_right = (opcode_arg_type_operand) opdata.data.assignment.type_value_right; const idx_t src_val_descr = opdata.data.assignment.value_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); if (type_value_right == OPCODE_ARG_TYPE_SIMPLE) { @@ -492,7 +492,7 @@ opfunc_func_decl_n (opcode_t opdata, /**< operation data */ int_data->pos++; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); MEM_DEFINE_LOCAL_ARRAY (params_names, params_number, ecma_string_t*); @@ -534,7 +534,7 @@ opfunc_func_expr_n (opcode_t opdata, /**< operation data */ const ecma_length_t params_number = opdata.data.func_expr_n.arg_list; const bool is_named_func_expr = (function_name_lit_idx != INVALID_VALUE); - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); opcode_counter_t function_code_end_oc; @@ -628,7 +628,7 @@ opfunc_call_n (opcode_t opdata, /**< operation data */ const idx_t args_number_idx = opdata.data.call_n.arg_list; const opcode_counter_t lit_oc = int_data->pos; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (func_value, get_variable_value (int_data, func_name_lit_idx, false), ret_value); @@ -746,7 +746,7 @@ opfunc_construct_n (opcode_t opdata, /**< operation data */ const idx_t args_number = opdata.data.construct_n.arg_list; const opcode_counter_t lit_oc = int_data->pos; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (constructor_value, get_variable_value (int_data, constructor_name_lit_idx, false), ret_value); @@ -824,7 +824,7 @@ opfunc_array_decl (opcode_t opdata, /**< operation data */ int_data->pos++; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); MEM_DEFINE_LOCAL_ARRAY (arg_values, args_number, ecma_value_t); @@ -887,7 +887,7 @@ opfunc_obj_decl (opcode_t opdata, /**< operation data */ int_data->pos++; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ecma_completion_value_t completion = ecma_make_empty_completion_value (); ecma_object_t *obj_p = ecma_op_create_object_object_noarg (); @@ -1066,7 +1066,7 @@ ecma_completion_value_t opfunc_retval (opcode_t opdata __attr_unused___, /**< operation data */ int_data_t *int_data __attr_unused___) /**< interpreter context */ { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (expr_val, get_variable_value (int_data, opdata.data.retval.ret_value, false), ret_value); @@ -1094,7 +1094,7 @@ opfunc_prop_getter (opcode_t opdata __attr_unused___, /**< operation data */ const idx_t base_var_idx = opdata.data.prop_getter.obj; const idx_t prop_name_var_idx = opdata.data.prop_getter.prop; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (base_value, get_variable_value (int_data, base_var_idx, false), @@ -1147,7 +1147,7 @@ opfunc_prop_setter (opcode_t opdata __attr_unused___, /**< operation data */ const idx_t prop_name_var_idx = opdata.data.prop_setter.prop; const idx_t rhs_var_idx = opdata.data.prop_setter.rhs; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (base_value, get_variable_value (int_data, base_var_idx, false), @@ -1221,7 +1221,7 @@ opfunc_logical_not (opcode_t opdata, /**< operation data */ const idx_t dst_var_idx = opdata.data.logical_not.dst; const idx_t right_var_idx = opdata.data.logical_not.var_right; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (right_value, get_variable_value (int_data, right_var_idx, false), ret_value); @@ -1284,7 +1284,7 @@ opfunc_with (opcode_t opdata, /**< operation data */ { const idx_t expr_var_idx = opdata.data.with.expr; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (expr_value, get_variable_value (int_data, @@ -1348,7 +1348,7 @@ opfunc_throw_value (opcode_t opdata, /**< operation data */ { const idx_t var_idx = opdata.data.throw_value.var; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (var_value, get_variable_value (int_data, @@ -1377,7 +1377,7 @@ static ecma_completion_value_t evaluate_arg_for_typeof (int_data_t *int_data, /**< interpreter context */ idx_t var_idx) /**< arg variable identifier */ { - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); if (is_reg_variable (int_data, var_idx)) { @@ -1428,7 +1428,7 @@ opfunc_typeof (opcode_t opdata, /**< operation data */ const idx_t dst_var_idx = opdata.data.typeof.lhs; const idx_t obj_var_idx = opdata.data.typeof.obj; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (typeof_arg, evaluate_arg_for_typeof (int_data, @@ -1503,7 +1503,7 @@ opfunc_delete_var (opcode_t opdata, /**< operation data */ int_data->pos++; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); const literal_index_t lit_id = serializer_get_literal_id_by_uid (name_lit_idx, lit_oc); JERRY_ASSERT (lit_id != INVALID_LITERAL); @@ -1568,7 +1568,7 @@ opfunc_delete_prop (opcode_t opdata, /**< operation data */ const idx_t base_var_idx = opdata.data.delete_prop.base; const idx_t name_var_idx = opdata.data.delete_prop.name; - ecma_completion_value_t ret_value; + ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ECMA_TRY_CATCH (base_value, get_variable_value (int_data, base_var_idx, false),