| 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: | 
|  |