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

Unified Diff: src/compiler/frame-states.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/frame-states.h
diff --git a/src/compiler/frame-states.h b/src/compiler/frame-states.h
index 0d0ec47f88c99384c2e60bf9602a9592c0d0bcbb..81b853b33f63372df854be10153513447e05c6ab 100644
--- a/src/compiler/frame-states.h
+++ b/src/compiler/frame-states.h
@@ -5,6 +5,7 @@
#ifndef V8_COMPILER_FRAME_STATES_H_
#define V8_COMPILER_FRAME_STATES_H_
+#include "src/builtins/builtins.h"
#include "src/handles.h"
#include "src/utils.h"
@@ -82,7 +83,8 @@ enum class FrameStateType {
kTailCallerFunction, // Represents a frame removed by tail call elimination.
kConstructStub, // Represents a ConstructStubFrame.
kGetterStub, // Represents a GetterStubFrame.
- kSetterStub // Represents a SetterStubFrame.
+ kSetterStub, // Represents a SetterStubFrame.
+ kBuiltinContinuation // Represents a continuation to a stub
};
class FrameStateFunctionInfo {
@@ -160,6 +162,22 @@ static const int kFrameStateFunctionInput = 4;
static const int kFrameStateOuterStateInput = 5;
static const int kFrameStateInputCount = kFrameStateOuterStateInput + 1;
+class JSGraph;
+class Node;
+
+enum CheckpointMode { CREATE_CHECKPOINT, DONT_CREATE_CHECKPOINT };
+
+std::pair<Node*, Node*> CreateStubBuiltinContinuationFrameState(
+ JSGraph* graph, Builtins::Name name, Node* context, Node** parameters,
+ int parameter_count, Node* effect, Node* control, Node* outer_frame_state,
+ CheckpointMode mode);
+
+std::pair<Node*, Node*> CreateJavaScriptBuiltinContinuationFrameState(
+ JSGraph* graph, Handle<SharedFunctionInfo> shared, Builtins::Name name,
+ Node* target, Node* context, Node** stack_parameters,
+ int stack_parameter_count, Node* effect, Node* control,
+ Node* outer_frame_state, CheckpointMode mode);
+
} // namespace compiler
} // namespace internal
} // namespace v8

Powered by Google App Engine
This is Rietveld 408576698