From 845b0d5006d1f2753145dc1862590a2ee256d3c0 Mon Sep 17 00:00:00 2001 From: Ruben Ayrapetyan Date: Thu, 27 Aug 2015 16:32:08 +0300 Subject: [PATCH] Clarify calculation precedence for `&` and `?`. (a & b ? c : d)-like expressions are changed to ((a & b) ? c : d). JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com --- jerry-core/ecma/operations/ecma-regexp-object.cpp | 6 +++--- jerry-core/parser/js/opcodes-dumper.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/jerry-core/ecma/operations/ecma-regexp-object.cpp b/jerry-core/ecma/operations/ecma-regexp-object.cpp index d2e84fab4..b3db0492e 100644 --- a/jerry-core/ecma/operations/ecma-regexp-object.cpp +++ b/jerry-core/ecma/operations/ecma-regexp-object.cpp @@ -158,7 +158,7 @@ re_initialize_props (ecma_object_t *re_obj_p, /**< RegExp obejct */ } ecma_deref_ecma_string (magic_string_p); - prop_value = flags & RE_FLAG_GLOBAL ? ECMA_SIMPLE_VALUE_TRUE : ECMA_SIMPLE_VALUE_FALSE; + prop_value = (flags & RE_FLAG_GLOBAL) ? ECMA_SIMPLE_VALUE_TRUE : ECMA_SIMPLE_VALUE_FALSE; JERRY_ASSERT (prop_p->type == ECMA_PROPERTY_NAMEDDATA); ecma_set_named_data_property_value (prop_p, ecma_make_simple_value (prop_value)); @@ -174,7 +174,7 @@ re_initialize_props (ecma_object_t *re_obj_p, /**< RegExp obejct */ } ecma_deref_ecma_string (magic_string_p); - prop_value = flags & RE_FLAG_IGNORE_CASE ? ECMA_SIMPLE_VALUE_TRUE : ECMA_SIMPLE_VALUE_FALSE; + prop_value = (flags & RE_FLAG_IGNORE_CASE) ? ECMA_SIMPLE_VALUE_TRUE : ECMA_SIMPLE_VALUE_FALSE; JERRY_ASSERT (prop_p->type == ECMA_PROPERTY_NAMEDDATA); ecma_set_named_data_property_value (prop_p, ecma_make_simple_value (prop_value)); @@ -190,7 +190,7 @@ re_initialize_props (ecma_object_t *re_obj_p, /**< RegExp obejct */ } ecma_deref_ecma_string (magic_string_p); - prop_value = flags & RE_FLAG_MULTILINE ? ECMA_SIMPLE_VALUE_TRUE : ECMA_SIMPLE_VALUE_FALSE; + prop_value = (flags & RE_FLAG_MULTILINE) ? ECMA_SIMPLE_VALUE_TRUE : ECMA_SIMPLE_VALUE_FALSE; JERRY_ASSERT (prop_p->type == ECMA_PROPERTY_NAMEDDATA); ecma_set_named_data_property_value (prop_p, ecma_make_simple_value (prop_value)); diff --git a/jerry-core/parser/js/opcodes-dumper.cpp b/jerry-core/parser/js/opcodes-dumper.cpp index 68b5531fc..63cc0af2d 100644 --- a/jerry-core/parser/js/opcodes-dumper.cpp +++ b/jerry-core/parser/js/opcodes-dumper.cpp @@ -1154,7 +1154,7 @@ dump_call_additional_info (opcode_call_flags_t flags, /**< call flags */ const vm_instr_t instr = getop_meta (OPCODE_META_TYPE_CALL_SITE_INFO, flags, - (idx_t) (flags & OPCODE_CALL_FLAGS_HAVE_THIS_ARG + (idx_t) ((flags & OPCODE_CALL_FLAGS_HAVE_THIS_ARG) ? this_arg.data.uid : INVALID_VALUE));