Index: src/frames.h |
diff --git a/src/frames.h b/src/frames.h |
index 9814f84e552fa8ce666c6ca06b7bdbde5e9f59cd..a1d24ac3a075c430bf286f6aa8bc84fae8c31c48 100644 |
--- a/src/frames.h |
+++ b/src/frames.h |
@@ -264,12 +264,12 @@ class StackFrame BASE_EMBEDDED { |
PrintMode mode, |
int index) const { } |
+ Isolate* isolate() const { return isolate_; } |
+ |
protected: |
inline explicit StackFrame(StackFrameIterator* iterator); |
virtual ~StackFrame() { } |
- Isolate* isolate() const { return isolate_; } |
- |
// Compute the stack pointer for the calling frame. |
virtual Address GetCallerStackPointer() const = 0; |
@@ -449,6 +449,9 @@ class StandardFrame: public StackFrame { |
// construct frame. |
static inline bool IsConstructFrame(Address fp); |
+ // Used by OptimizedFrames and StubFrames. |
+ void IterateCompiledFrame(ObjectVisitor* v) const; |
+ |
private: |
friend class StackFrame; |
friend class StackFrameIterator; |
@@ -559,33 +562,28 @@ class JavaScriptFrame: public StandardFrame { |
}; |
-class CompiledFrame : public JavaScriptFrame { |
- public: |
- virtual Type type() const = 0; |
- |
- // GC support. |
- virtual void Iterate(ObjectVisitor* v) const; |
- |
- protected: |
- inline explicit CompiledFrame(StackFrameIterator* iterator); |
-}; |
- |
- |
-class StubFrame : public CompiledFrame { |
+class StubFrame : public StandardFrame { |
public: |
virtual Type type() const { return STUB; } |
// GC support. |
virtual void Iterate(ObjectVisitor* v) const; |
+ // Determine the code for the frame. |
+ virtual Code* unchecked_code() const; |
+ |
protected: |
inline explicit StubFrame(StackFrameIterator* iterator); |
+ virtual Address GetCallerStackPointer() const; |
+ |
+ virtual int GetNumberOfIncomingArguments() const; |
+ |
friend class StackFrameIterator; |
}; |
-class OptimizedFrame : public CompiledFrame { |
+class OptimizedFrame : public JavaScriptFrame { |
public: |
virtual Type type() const { return OPTIMIZED; } |