From: ishell@chromium.org Date: Thu, 6 Feb 2014 13:16:44 +0000 (+0000) Subject: Optimized stores of smis on x64 temporarily disabled. X-Git-Tag: upstream/4.7.83~10837 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a26bd05be3ed4ce6fa0d5054a61cb603c07924f5;p=platform%2Fupstream%2Fv8.git Optimized stores of smis on x64 temporarily disabled. BUG=338425 LOG=N R=yangguo@chromium.org Review URL: https://codereview.chromium.org/132753008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/flag-definitions.h b/src/flag-definitions.h index 6f226ac..c0eaf16 100644 --- a/src/flag-definitions.h +++ b/src/flag-definitions.h @@ -234,6 +234,7 @@ DEFINE_implication(track_double_fields, track_fields) DEFINE_implication(track_heap_object_fields, track_fields) DEFINE_implication(track_computed_fields, track_fields) DEFINE_bool(smi_binop, true, "support smi representation in binary operations") +DEFINE_bool(smi_x64_store_opt, false, "optimized stores of smi on x64") // Flags for optimization types. DEFINE_bool(optimize_for_size, false, diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h index 27fa3b9..73348a6 100644 --- a/src/hydrogen-instructions.h +++ b/src/hydrogen-instructions.h @@ -6541,6 +6541,7 @@ class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> { write_barrier_mode_(UPDATE_WRITE_BARRIER), has_transition_(false), store_mode_(store_mode) { + if (!FLAG_smi_x64_store_opt) store_mode_ = INITIALIZING_STORE; // Stores to a non existing in-object property are allowed only to the // newly allocated objects (via HAllocate or HInnerAllocatedObject). ASSERT(!access.IsInobject() || access.existing_inobject_property() || @@ -6729,6 +6730,7 @@ class HStoreKeyed V8_FINAL is_uninitialized_(false), store_mode_(store_mode), new_space_dominator_(NULL) { + if (!FLAG_smi_x64_store_opt) store_mode_ = INITIALIZING_STORE; SetOperandAt(0, obj); SetOperandAt(1, key); SetOperandAt(2, val);