| Index: src/hydrogen.h
|
| diff --git a/src/hydrogen.h b/src/hydrogen.h
|
| index b3cb8ffc75dc3796ae288967b29c9c46f21a2e3e..7987a97a51dd8eb221cd39871164ecd289bd28de 100644
|
| --- a/src/hydrogen.h
|
| +++ b/src/hydrogen.h
|
| @@ -1585,9 +1585,16 @@ class HGraphBuilder {
|
| ElementsKind kind,
|
| HValue* constructor_function);
|
|
|
| + enum FillMode {
|
| + DONT_FILL_WITH_HOLE,
|
| + FILL_WITH_HOLE
|
| + };
|
| +
|
| + ElementsKind kind() { return kind_; }
|
| +
|
| 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:
|
| @@ -1607,7 +1614,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_;
|
| @@ -1617,6 +1625,9 @@ class HGraphBuilder {
|
| HInnerAllocatedObject* elements_location_;
|
| };
|
|
|
| + HValue* BuildAllocateArrayFromLength(JSArrayBuilder* array_builder,
|
| + HValue* length_argument);
|
| +
|
| HValue* BuildAllocateElements(ElementsKind kind,
|
| HValue* capacity);
|
|
|
| @@ -2101,6 +2112,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)
|
|
|