| Index: src/compiler/js-call-reducer.h | 
| diff --git a/src/compiler/js-call-reducer.h b/src/compiler/js-call-reducer.h | 
| index 31326084cc6b478c6263db5d2843b566d2f422c2..44328308d420d448dbc86300e4be87931fdc09de 100644 | 
| --- a/src/compiler/js-call-reducer.h | 
| +++ b/src/compiler/js-call-reducer.h | 
| @@ -6,6 +6,7 @@ | 
| #define V8_COMPILER_JS_CALL_REDUCER_H_ | 
|  | 
| #include "src/base/flags.h" | 
| +#include "src/builtins/builtins.h" | 
| #include "src/compiler/graph-reducer.h" | 
|  | 
| namespace v8 { | 
| @@ -21,16 +22,18 @@ namespace compiler { | 
| class CommonOperatorBuilder; | 
| class JSGraph; | 
| class JSOperatorBuilder; | 
| +class MachineOperatorBuilder; | 
| class SimplifiedOperatorBuilder; | 
|  | 
| // Performs strength reduction on {JSConstruct} and {JSCall} nodes, | 
| // which might allow inlining or other optimizations to be performed afterwards. | 
| class JSCallReducer final : public AdvancedReducer { | 
| public: | 
| -  JSCallReducer(Editor* editor, JSGraph* jsgraph, | 
| +  JSCallReducer(Editor* editor, JSGraph* jsgraph, Zone* local_zone, | 
| Handle<Context> native_context, | 
| CompilationDependencies* dependencies) | 
| : AdvancedReducer(editor), | 
| +        local_zone_(local_zone), | 
| jsgraph_(jsgraph), | 
| native_context_(native_context), | 
| dependencies_(dependencies) {} | 
| @@ -50,12 +53,21 @@ class JSCallReducer final : public AdvancedReducer { | 
| Reduction ReduceObjectGetPrototypeOf(Node* node); | 
| Reduction ReduceObjectPrototypeGetProto(Node* node); | 
| Reduction ReduceReflectGetPrototypeOf(Node* node); | 
| +  Reduction ReduceArrayForEach(Handle<SharedFunctionInfo> shared, Node* node); | 
| Reduction ReduceSpreadCall(Node* node, int arity); | 
| Reduction ReduceJSConstruct(Node* node); | 
| Reduction ReduceJSConstructWithSpread(Node* node); | 
| Reduction ReduceJSCall(Node* node); | 
| Reduction ReduceJSCallWithSpread(Node* node); | 
|  | 
| +  enum CheckpointMode { CREATE_CHECKPOINT, DONT_CREATE_CHECKPOINT }; | 
| + | 
| +  std::pair<Node*, Node*> CreateJavaScriptBuiltinContinuationFrameState( | 
| +      Handle<SharedFunctionInfo> shared, Builtins::Name name, Node* target, | 
| +      Node* context, Node** parameters, int parameter_count, Node* effect, | 
| +      Node* control, Node* outer_frame_state, CheckpointMode mode); | 
| + | 
| +  Zone* const local_zone_; | 
| Graph* graph() const; | 
| JSGraph* jsgraph() const { return jsgraph_; } | 
| Isolate* isolate() const; | 
|  |