Index: src/frames.h |
diff --git a/src/frames.h b/src/frames.h |
index a1d24ac3a075c430bf286f6aa8bc84fae8c31c48..26bf434ac91cb22cd9afef83aba12d5aacd12f2c 100644 |
--- a/src/frames.h |
+++ b/src/frames.h |
@@ -130,16 +130,17 @@ class StackHandler BASE_EMBEDDED { |
}; |
-#define STACK_FRAME_TYPE_LIST(V) \ |
- V(ENTRY, EntryFrame) \ |
- V(ENTRY_CONSTRUCT, EntryConstructFrame) \ |
- V(EXIT, ExitFrame) \ |
- V(JAVA_SCRIPT, JavaScriptFrame) \ |
- V(OPTIMIZED, OptimizedFrame) \ |
- V(STUB, StubFrame) \ |
- V(INTERNAL, InternalFrame) \ |
- V(CONSTRUCT, ConstructFrame) \ |
- V(ARGUMENTS_ADAPTOR, ArgumentsAdaptorFrame) |
+#define STACK_FRAME_TYPE_LIST(V) \ |
+ V(ENTRY, EntryFrame) \ |
+ V(ENTRY_CONSTRUCT, EntryConstructFrame) \ |
+ V(EXIT, ExitFrame) \ |
+ V(JAVA_SCRIPT, JavaScriptFrame) \ |
+ V(OPTIMIZED, OptimizedFrame) \ |
+ V(STUB, StubFrame) \ |
+ V(STUB_FAILURE_TRAMPOLINE, StubFailureTrampolineFrame) \ |
+ V(INTERNAL, InternalFrame) \ |
+ V(CONSTRUCT, ConstructFrame) \ |
+ V(ARGUMENTS_ADAPTOR, ArgumentsAdaptorFrame) |
// Abstract base class for all stack frames. |
@@ -194,6 +195,9 @@ class StackFrame BASE_EMBEDDED { |
bool is_optimized() const { return type() == OPTIMIZED; } |
bool is_arguments_adaptor() const { return type() == ARGUMENTS_ADAPTOR; } |
bool is_internal() const { return type() == INTERNAL; } |
+ bool is_stub_failure_trampoline() const { |
+ return type() == STUB_FAILURE_TRAMPOLINE; |
+ } |
bool is_construct() const { return type() == CONSTRUCT; } |
virtual bool is_standard() const { return false; } |
@@ -668,6 +672,21 @@ class InternalFrame: public StandardFrame { |
}; |
+class StubFailureTrampolineFrame: public InternalFrame { |
+ public: |
+ virtual Type type() const { return STUB_FAILURE_TRAMPOLINE; } |
+ |
+ virtual void Iterate(ObjectVisitor* v) const; |
+ |
+ protected: |
+ inline explicit StubFailureTrampolineFrame( |
+ StackFrameIterator* iterator); |
+ |
+ private: |
+ friend class StackFrameIterator; |
+}; |
+ |
+ |
// Construct frames are special trampoline frames introduced to handle |
// function invocations through 'new'. |
class ConstructFrame: public InternalFrame { |