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

Unified Diff: src/frames.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/frames.h
diff --git a/src/frames.h b/src/frames.h
index fb786df539d7b31d6a1a53ad8f6482c411d75973..99e2b256879d3fa79b667de5d581e45795387edf 100644
--- a/src/frames.h
+++ b/src/frames.h
@@ -111,6 +111,7 @@ class StackHandler BASE_EMBEDDED {
V(INTERPRETED, InterpretedFrame) \
V(STUB, StubFrame) \
V(STUB_FAILURE_TRAMPOLINE, StubFailureTrampolineFrame) \
+ V(BUILTIN_CONTINUATION, BuiltinContinuationFrame) \
V(INTERNAL, InternalFrame) \
V(CONSTRUCT, ConstructFrame) \
V(ARGUMENTS_ADAPTOR, ArgumentsAdaptorFrame) \
@@ -523,6 +524,9 @@ class StackFrame BASE_EMBEDDED {
bool is_stub_failure_trampoline() const {
return type() == STUB_FAILURE_TRAMPOLINE;
}
+ bool is_builtin_continuation() const {
+ return type() == BUILTIN_CONTINUATION;
+ }
bool is_construct() const { return type() == CONSTRUCT; }
bool is_builtin_exit() const { return type() == BUILTIN_EXIT; }
virtual bool is_standard() const { return false; }
@@ -1458,6 +1462,21 @@ class ConstructFrame: public InternalFrame {
friend class StackFrameIteratorBase;
};
+class BuiltinContinuationFrame : public InternalFrame {
+ public:
+ Type type() const override { return BUILTIN_CONTINUATION; }
+
+ static BuiltinContinuationFrame* cast(StackFrame* frame) {
+ DCHECK(frame->is_builtin_continuation());
+ return static_cast<BuiltinContinuationFrame*>(frame);
+ }
+
+ protected:
+ inline explicit BuiltinContinuationFrame(StackFrameIteratorBase* iterator);
+
+ private:
+ friend class StackFrameIteratorBase;
+};
class StackFrameIteratorBase BASE_EMBEDDED {
public:
« src/builtins/ia32/builtins-ia32.cc ('K') | « src/deoptimizer.cc ('k') | src/frames.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698