Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index b3cb8ffc75dc3796ae288967b29c9c46f21a2e3e..2135289f236faa79a8abb7597ee22aeceef72a7e 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -1604,8 +1604,7 @@ class HGraphBuilder { |
HValue* EmitMapCode(); |
HValue* EmitInternalMapCode(); |
- HValue* EstablishEmptyArrayAllocationSize(); |
- HValue* EstablishAllocationSize(HValue* length_node); |
+ HValue* EstablishHeaderAllocationSize(); |
HValue* AllocateArray(HValue* size_in_bytes, HValue* capacity, |
HValue* length_field, bool fill_with_hole); |
@@ -1614,11 +1613,15 @@ class HGraphBuilder { |
AllocationSiteMode mode_; |
HValue* allocation_site_payload_; |
HValue* constructor_function_; |
- HInnerAllocatedObject* elements_location_; |
+ HValue* elements_location_; |
}; |
+ HValue* BuildCalculateElementsSize(ElementsKind kind, |
+ HValue* capacity); |
+ |
HValue* BuildAllocateElements(ElementsKind kind, |
- HValue* capacity); |
+ HValue* size_in_bytes, |
+ PretenureFlag pretenure); |
void BuildInitializeElementsHeader(HValue* elements, |
ElementsKind kind, |
@@ -1628,15 +1631,14 @@ class HGraphBuilder { |
HValue* capacity); |
// array must have been allocated with enough room for |
- // 1) the JSArray, 2) a AllocationMemento if mode requires it, |
- // 3) a FixedArray or FixedDoubleArray. |
- // A pointer to the Fixed(Double)Array is returned. |
- HInnerAllocatedObject* BuildJSArrayHeader(HValue* array, |
- HValue* array_map, |
- AllocationSiteMode mode, |
- ElementsKind elements_kind, |
- HValue* allocation_site_payload, |
- HValue* length_field); |
+ // 1) the JSArray, 2) a AllocationMemento if mode requires it. |
+ // Initially the array elements storage is initialized with empty array. |
+ void BuildJSArrayHeader(HValue* array, |
+ HValue* array_map, |
+ AllocationSiteMode mode, |
+ ElementsKind elements_kind, |
+ HValue* allocation_site_payload, |
+ HValue* length_field); |
HValue* BuildGrowElementsCapacity(HValue* object, |
HValue* elements, |