Revision: 21377
Author:   [email protected]
Date:     Tue May 20 08:42:10 2014 UTC
Log:      Use HType::NonPrimitive() for array backing store allocations.

[email protected]

Review URL: https://codereview.chromium.org/291153003
http://code.google.com/p/v8/source/detail?r=21377

Modified:
 /branches/bleeding_edge/src/hydrogen.cc

=======================================
--- /branches/bleeding_edge/src/hydrogen.cc     Mon May 19 07:24:24 2014 UTC
+++ /branches/bleeding_edge/src/hydrogen.cc     Tue May 20 08:42:10 2014 UTC
@@ -2268,6 +2268,7 @@
   HValue* capacity = Pop();
   return array_builder->AllocateArray(capacity, length);
 }
+

 HValue* HGraphBuilder::BuildAllocateElements(ElementsKind kind,
                                              HValue* capacity) {
@@ -2293,8 +2294,8 @@
   PretenureFlag pretenure_flag = !FLAG_allocation_site_pretenuring ?
       isolate()->heap()->GetPretenureMode() : NOT_TENURED;

-  return Add<HAllocate>(total_size, HType::Tagged(), pretenure_flag,
-      instance_type);
+  return Add<HAllocate>(total_size, HType::NonPrimitive(),
+                        pretenure_flag, instance_type);
 }


@@ -8794,7 +8795,7 @@
   HValue* elements =
       Add<HAllocate>(
           Add<HConstant>(ExternalArray::kAlignedSize),
-          HType::Tagged(),
+          HType::NonPrimitive(),
           NOT_TENURED,
           external_array_map->instance_type());

@@ -8851,9 +8852,8 @@
   Handle<Map> fixed_typed_array_map(
       isolate()->heap()->MapForFixedTypedArray(array_type));
   HValue* elements =
-      Add<HAllocate>(total_size, HType::Tagged(),
-          NOT_TENURED,
-          fixed_typed_array_map->instance_type());
+      Add<HAllocate>(total_size, HType::NonPrimitive(),
+                     NOT_TENURED, fixed_typed_array_map->instance_type());
   AddStoreMapConstant(elements, fixed_typed_array_map);

   Add<HStoreNamedField>(elements,
@@ -10292,13 +10292,11 @@
   HInstruction* object_elements = NULL;
   if (elements_size > 0) {
     HValue* object_elements_size = Add<HConstant>(elements_size);
-    if (boilerplate_object->HasFastDoubleElements()) {
- object_elements = Add<HAllocate>(object_elements_size, HType::Tagged(), - pretenure_flag, FIXED_DOUBLE_ARRAY_TYPE, site_context->current());
-    } else {
- object_elements = Add<HAllocate>(object_elements_size, HType::Tagged(),
-          pretenure_flag, FIXED_ARRAY_TYPE, site_context->current());
-    }
+ InstanceType instance_type = boilerplate_object->HasFastDoubleElements()
+        ? FIXED_DOUBLE_ARRAY_TYPE : FIXED_ARRAY_TYPE;
+    object_elements = Add<HAllocate>(
+        object_elements_size, HType::NonPrimitive(),
+        pretenure_flag, instance_type, site_context->current());
   }
BuildInitElementsInObjectHeader(boilerplate_object, object, object_elements);

--
--
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