Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index b5046bd00190a46b4ae0aecc5c804b10989afc54..49a594b5914051c92546623d02a21fd0e443c063 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -1540,15 +1540,21 @@ class HGraphBuilder { |
ElementsKind kind, |
HValue* allocation_site_payload, |
HValue* constructor_function, |
- AllocationSiteOverrideMode override_mode); |
+ AllocationSiteOverrideMode override_mode, |
+ bool is_inlined = false); |
Toon Verwaest
2013/11/11 13:59:28
Please make this an enum.
mvstanton
2013/11/13 14:12:52
Removed per your other feedback.
|
JSArrayBuilder(HGraphBuilder* builder, |
ElementsKind kind, |
HValue* constructor_function); |
+ enum FillMode { |
+ DONT_FILL_WITH_HOLE, |
+ FILL_WITH_HOLE |
+ }; |
+ |
HValue* AllocateEmptyArray(); |
HValue* AllocateArray(HValue* capacity, HValue* length_field, |
- bool fill_with_hole); |
+ FillMode fill_mode = FILL_WITH_HOLE); |
HValue* GetElementsLocation() { return elements_location_; } |
private: |
@@ -1568,7 +1574,8 @@ class HGraphBuilder { |
HValue* EstablishEmptyArrayAllocationSize(); |
HValue* EstablishAllocationSize(HValue* length_node); |
HValue* AllocateArray(HValue* size_in_bytes, HValue* capacity, |
- HValue* length_field, bool fill_with_hole); |
+ HValue* length_field, |
+ FillMode fill_mode = FILL_WITH_HOLE); |
HGraphBuilder* builder_; |
ElementsKind kind_; |
@@ -1576,8 +1583,12 @@ class HGraphBuilder { |
HValue* allocation_site_payload_; |
HValue* constructor_function_; |
HInnerAllocatedObject* elements_location_; |
+ bool is_inlined_; |
Toon Verwaest
2013/11/11 13:59:28
enum
mvstanton
2013/11/13 14:12:52
Removed the member.
|
}; |
+ HValue* BuildAllocateArrayFromLength(JSArrayBuilder* array_builder, |
+ HValue* length_argument); |
+ |
HValue* BuildAllocateElements(ElementsKind kind, |
HValue* capacity); |
@@ -2062,6 +2073,9 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor { |
SmallMapList* types, |
Handle<String> name); |
+ bool IsCallNewArrayInlineable(CallNew* expr); |
+ void BuildInlinedCallNewArray(CallNew* expr); |
+ |
class PropertyAccessInfo { |
public: |
PropertyAccessInfo(Isolate* isolate, Handle<Map> map, Handle<String> name) |