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

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

Issue 2803853005: Inline Array.prototype.forEach in TurboFan (Closed)
Patch Set: Add comments 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..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;

Powered by Google App Engine
This is Rietveld 408576698