Chromium Code Reviews| 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) |