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