| Index: src/compiler/js-inlining.h
|
| diff --git a/src/compiler/js-inlining.h b/src/compiler/js-inlining.h
|
| index 21057e61e40612154c61f75e6d81614263eb770e..a77dceb3342da48791ea7b098c3e32fdf4960e98 100644
|
| --- a/src/compiler/js-inlining.h
|
| +++ b/src/compiler/js-inlining.h
|
| @@ -19,22 +19,26 @@ namespace compiler {
|
| // Forward declarations.
|
| class JSCallFunctionAccessor;
|
|
|
| +// The JSInliner provides the core graph inlining machinery. Note that this
|
| +// class only deals with the mechanics of how to inline one graph into another,
|
| +// heuristics that decide what and how much to inline are beyond its scope.
|
| class JSInliner final : public AdvancedReducer {
|
| public:
|
| - enum Mode { kRestrictedInlining, kGeneralInlining };
|
| -
|
| - JSInliner(Editor* editor, Mode mode, Zone* local_zone, CompilationInfo* info,
|
| + JSInliner(Editor* editor, Zone* local_zone, CompilationInfo* info,
|
| JSGraph* jsgraph)
|
| : AdvancedReducer(editor),
|
| - mode_(mode),
|
| local_zone_(local_zone),
|
| info_(info),
|
| jsgraph_(jsgraph) {}
|
|
|
| + // Reducer interface, eagerly inlines everything.
|
| Reduction Reduce(Node* node) final;
|
|
|
| + // Can be used by inlining heuristics or by testing code directly, without
|
| + // using the above generic reducer interface of the inlining machinery.
|
| + Reduction ReduceJSCallFunction(Node* node, Handle<JSFunction> function);
|
| +
|
| private:
|
| - Mode const mode_;
|
| Zone* local_zone_;
|
| CompilationInfo* info_;
|
| JSGraph* jsgraph_;
|
|
|