| Index: src/compiler/js-create-lowering.h
|
| diff --git a/src/compiler/js-create-lowering.h b/src/compiler/js-create-lowering.h
|
| index 743c060b883078319e98798415f04e514b5fc4e0..d9d184b8e2981a598fcb1cf6ecccb144262358eb 100644
|
| --- a/src/compiler/js-create-lowering.h
|
| +++ b/src/compiler/js-create-lowering.h
|
| @@ -11,6 +11,7 @@ namespace v8 {
|
| namespace internal {
|
|
|
| // Forward declarations.
|
| +class AllocationSiteUsageContext;
|
| class CompilationDependencies;
|
| class Factory;
|
|
|
| @@ -29,10 +30,13 @@ class SimplifiedOperatorBuilder;
|
| class JSCreateLowering final : public AdvancedReducer {
|
| public:
|
| JSCreateLowering(Editor* editor, CompilationDependencies* dependencies,
|
| - JSGraph* jsgraph)
|
| + JSGraph* jsgraph, MaybeHandle<LiteralsArray> literals_array,
|
| + Zone* zone)
|
| : AdvancedReducer(editor),
|
| dependencies_(dependencies),
|
| - jsgraph_(jsgraph) {}
|
| + jsgraph_(jsgraph),
|
| + literals_array_(literals_array),
|
| + zone_(zone) {}
|
| ~JSCreateLowering() final {}
|
|
|
| Reduction Reduce(Node* node) final;
|
| @@ -42,6 +46,7 @@ class JSCreateLowering final : public AdvancedReducer {
|
| Reduction ReduceJSCreateArguments(Node* node);
|
| Reduction ReduceJSCreateArray(Node* node);
|
| Reduction ReduceJSCreateIterResultObject(Node* node);
|
| + Reduction ReduceJSCreateLiteral(Node* node);
|
| Reduction ReduceJSCreateFunctionContext(Node* node);
|
| Reduction ReduceJSCreateWithContext(Node* node);
|
| Reduction ReduceJSCreateCatchContext(Node* node);
|
| @@ -58,6 +63,17 @@ class JSCreateLowering final : public AdvancedReducer {
|
| Node* AllocateElements(Node* effect, Node* control,
|
| ElementsKind elements_kind, int capacity,
|
| PretenureFlag pretenure);
|
| + Node* AllocateFastLiteral(Node* effect, Node* control,
|
| + Handle<JSObject> boilerplate,
|
| + AllocationSiteUsageContext* site_context);
|
| + Node* AllocateFastLiteralElements(Node* effect, Node* control,
|
| + Handle<JSObject> boilerplate,
|
| + PretenureFlag pretenure,
|
| + AllocationSiteUsageContext* site_context);
|
| + Node* AllocateMutableHeapNumber(double value, Node* effect, Node* control);
|
| +
|
| + // Infers the LiteralsArray to use for a given {node}.
|
| + MaybeHandle<LiteralsArray> GetSpecializationLiterals(Node* node);
|
|
|
| Factory* factory() const;
|
| Graph* graph() const;
|
| @@ -68,9 +84,12 @@ class JSCreateLowering final : public AdvancedReducer {
|
| SimplifiedOperatorBuilder* simplified() const;
|
| MachineOperatorBuilder* machine() const;
|
| CompilationDependencies* dependencies() const { return dependencies_; }
|
| + Zone* zone() const { return zone_; }
|
|
|
| CompilationDependencies* const dependencies_;
|
| JSGraph* const jsgraph_;
|
| + MaybeHandle<LiteralsArray> const literals_array_;
|
| + Zone* const zone_;
|
| };
|
|
|
| } // namespace compiler
|
|
|