Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3365)

Unified Diff: src/hydrogen.h

Issue 61463005: Supported folding of constant size allocation followed by dynamic size allocation. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Allocation folding of const + dynamic sizes case. Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/hydrogen.cc » ('j') | src/hydrogen.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « no previous file | src/hydrogen.cc » ('j') | src/hydrogen.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698