| Index: src/frames.h
 | 
| diff --git a/src/frames.h b/src/frames.h
 | 
| index 26bf434ac91cb22cd9afef83aba12d5aacd12f2c..a60e535947f033a9e5083e44da4e1aea831d0dab 100644
 | 
| --- a/src/frames.h
 | 
| +++ b/src/frames.h
 | 
| @@ -143,6 +143,22 @@ class StackHandler BASE_EMBEDDED {
 | 
|    V(ARGUMENTS_ADAPTOR,       ArgumentsAdaptorFrame)
 | 
|  
 | 
|  
 | 
| +class StandardFrameConstants : public AllStatic {
 | 
| + public:
 | 
| +  // Fixed part of the frame consists of return address, caller fp,
 | 
| +  // context and function.
 | 
| +  // StandardFrame::IterateExpressions assumes that kContextOffset is the last
 | 
| +  // object pointer.
 | 
| +  static const int kFixedFrameSize    =  4 * kPointerSize;
 | 
| +  static const int kExpressionsOffset = -3 * kPointerSize;
 | 
| +  static const int kMarkerOffset      = -2 * kPointerSize;
 | 
| +  static const int kContextOffset     = -1 * kPointerSize;
 | 
| +  static const int kCallerFPOffset    =  0 * kPointerSize;
 | 
| +  static const int kCallerPCOffset    = +1 * kPointerSize;
 | 
| +  static const int kCallerSPOffset    = +2 * kPointerSize;
 | 
| +};
 | 
| +
 | 
| +
 | 
|  // Abstract base class for all stack frames.
 | 
|  class StackFrame BASE_EMBEDDED {
 | 
|   public:
 | 
| @@ -672,16 +688,30 @@ class InternalFrame: public StandardFrame {
 | 
|  };
 | 
|  
 | 
|  
 | 
| -class StubFailureTrampolineFrame: public InternalFrame {
 | 
| +class StubFailureTrampolineFrame: public StandardFrame {
 | 
|   public:
 | 
| +  // sizeof(Arguments) - sizeof(Arguments*) is 3 * kPointerSize), but the
 | 
| +  // presubmit script complains about using sizeof() on a type.
 | 
| +  static const int kFirstRegisterParameterFrameOffset =
 | 
| +      StandardFrameConstants::kMarkerOffset - 3 * kPointerSize;
 | 
| +
 | 
| +  static const int kCallerStackParameterCountFrameOffset =
 | 
| +      StandardFrameConstants::kMarkerOffset - 2 * kPointerSize;
 | 
| +
 | 
|    virtual Type type() const { return STUB_FAILURE_TRAMPOLINE; }
 | 
|  
 | 
| +  // Get the code associated with this frame.
 | 
| +  // This method could be called during marking phase of GC.
 | 
| +  virtual Code* unchecked_code() const;
 | 
| +
 | 
|    virtual void Iterate(ObjectVisitor* v) const;
 | 
|  
 | 
|   protected:
 | 
|    inline explicit StubFailureTrampolineFrame(
 | 
|        StackFrameIterator* iterator);
 | 
|  
 | 
| +  virtual Address GetCallerStackPointer() const;
 | 
| +
 | 
|   private:
 | 
|    friend class StackFrameIterator;
 | 
|  };
 | 
| 
 |