Reviewers: mvstanton,

Message:
Committed patchset #2 manually as r20853 (presubmit successful).

Description:
Initialize elements pointer in BuildCloneShallowArray when allocation folding is
turned off for arrays with lenght larger than zero.

BUG=
[email protected]

Committed: https://code.google.com/p/v8/source/detail?r=20853

Please review this at https://codereview.chromium.org/240933003/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+9, -9 lines):
  M src/hydrogen.cc


Index: src/hydrogen.cc
diff --git a/src/hydrogen.cc b/src/hydrogen.cc
index 4448d0206b53b232cd1b495ae0621c7f0dc30717..f3bd68f643937a1b858c65870fdc4bac4fe1c1d3 100644
--- a/src/hydrogen.cc
+++ b/src/hydrogen.cc
@@ -2620,16 +2620,16 @@ HValue* HGraphBuilder::BuildCloneShallowArray(HValue* boilerplate,
         object, Add<HConstant>(JSArray::kSize), allocation_site);
   }

-  // We have to initialize the elements pointer if allocation folding is
-  // turned off.
-  if (!FLAG_use_gvn || !FLAG_use_allocation_folding) {
-    HConstant* empty_fixed_array = Add<HConstant>(
-        isolate()->factory()->empty_fixed_array());
-    Add<HStoreNamedField>(object, HObjectAccess::ForElementsPointer(),
-        empty_fixed_array, INITIALIZING_STORE);
-  }
-
   if (length > 0) {
+    // We have to initialize the elements pointer if allocation folding is
+    // turned off.
+    if (!FLAG_use_gvn || !FLAG_use_allocation_folding) {
+      HConstant* empty_fixed_array = Add<HConstant>(
+          isolate()->factory()->empty_fixed_array());
+      Add<HStoreNamedField>(object, HObjectAccess::ForElementsPointer(),
+          empty_fixed_array, INITIALIZING_STORE);
+    }
+
     HValue* boilerplate_elements = AddLoadElements(boilerplate);
     HValue* object_elements;
     if (IsFastDoubleElementsKind(kind)) {


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to