Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Unified Diff: src/compiler/js-call-reducer.h

Issue 2803853005: Inline Array.prototype.forEach in TurboFan (Closed)
Patch Set: Review feedback Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..aac07a8a328999d6b5988ecf1372914cd28c28b7 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,14 @@ 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);
+ Zone* const local_zone_;
Graph* graph() const;
JSGraph* jsgraph() const { return jsgraph_; }
Isolate* isolate() const;

Powered by Google App Engine
This is Rietveld 408576698