| Index: src/frames.h
 | 
| diff --git a/src/frames.h b/src/frames.h
 | 
| index b4247c9bdbe97ef710dacb9e52cd8e173bab02df..6acf3c6afa98de3cb46f271e8af9f8935c3e61a4 100644
 | 
| --- a/src/frames.h
 | 
| +++ b/src/frames.h
 | 
| @@ -114,23 +114,25 @@
 | 
|  class StandardFrameConstants : public AllStatic {
 | 
|   public:
 | 
|    // Fixed part of the frame consists of return address, caller fp,
 | 
| -  // constant pool (if FLAG_enable_embedded_constant_pool), context, and
 | 
| -  // function. StandardFrame::IterateExpressions assumes that kLastObjectOffset
 | 
| -  // is the last object pointer.
 | 
| +  // constant pool (if FLAG_enable_ool_constant_pool), context, and function.
 | 
| +  // StandardFrame::IterateExpressions assumes that kLastObjectOffset is the
 | 
| +  // last object pointer.
 | 
|    static const int kCPSlotSize =
 | 
| -      FLAG_enable_embedded_constant_pool ? kPointerSize : 0;
 | 
| +      FLAG_enable_ool_constant_pool ? kPointerSize : 0;
 | 
|    static const int kFixedFrameSizeFromFp =  2 * kPointerSize + kCPSlotSize;
 | 
| -  static const int kFixedFrameSize =
 | 
| -      kPCOnStackSize + kFPOnStackSize + kFixedFrameSizeFromFp;
 | 
| -  static const int kExpressionsOffset = -3 * kPointerSize - kCPSlotSize;
 | 
| -  static const int kMarkerOffset = -2 * kPointerSize - kCPSlotSize;
 | 
| -  static const int kContextOffset = -1 * kPointerSize - kCPSlotSize;
 | 
| -  static const int kConstantPoolOffset = kCPSlotSize ? -1 * kPointerSize : 0;
 | 
| -  static const int kCallerFPOffset = 0 * kPointerSize;
 | 
| -  static const int kCallerPCOffset = +1 * kFPOnStackSize;
 | 
| -  static const int kCallerSPOffset = kCallerPCOffset + 1 * kPCOnStackSize;
 | 
| -
 | 
| -  static const int kLastObjectOffset = kContextOffset;
 | 
| +  static const int kFixedFrameSize       =  kPCOnStackSize + kFPOnStackSize +
 | 
| +                                            kFixedFrameSizeFromFp;
 | 
| +  static const int kExpressionsOffset    = -3 * kPointerSize - kCPSlotSize;
 | 
| +  static const int kMarkerOffset         = -2 * kPointerSize - kCPSlotSize;
 | 
| +  static const int kContextOffset        = -1 * kPointerSize - kCPSlotSize;
 | 
| +  static const int kConstantPoolOffset   = FLAG_enable_ool_constant_pool ?
 | 
| +                                           -1 * kPointerSize : 0;
 | 
| +  static const int kCallerFPOffset       =  0 * kPointerSize;
 | 
| +  static const int kCallerPCOffset       = +1 * kFPOnStackSize;
 | 
| +  static const int kCallerSPOffset       = kCallerPCOffset + 1 * kPCOnStackSize;
 | 
| +
 | 
| +  static const int kLastObjectOffset     = FLAG_enable_ool_constant_pool ?
 | 
| +                                           kConstantPoolOffset : kContextOffset;
 | 
|  };
 | 
|  
 | 
|  
 | 
| @@ -213,8 +215,8 @@
 | 
|    void set_pc(Address pc) { *pc_address() = pc; }
 | 
|  
 | 
|    Address constant_pool() const { return *constant_pool_address(); }
 | 
| -  void set_constant_pool(Address constant_pool) {
 | 
| -    *constant_pool_address() = constant_pool;
 | 
| +  void set_constant_pool(ConstantPoolArray* constant_pool) {
 | 
| +    *constant_pool_address() = reinterpret_cast<Address>(constant_pool);
 | 
|    }
 | 
|  
 | 
|    virtual void SetCallerFp(Address caller_fp) = 0;
 | 
| @@ -256,8 +258,7 @@
 | 
|                                  unsigned* stack_slots);
 | 
|  
 | 
|    virtual void Iterate(ObjectVisitor* v) const = 0;
 | 
| -  static void IteratePc(ObjectVisitor* v, Address* pc_address,
 | 
| -                        Address* constant_pool_address, Code* holder);
 | 
| +  static void IteratePc(ObjectVisitor* v, Address* pc_address, Code* holder);
 | 
|  
 | 
|    // Sets a callback function for return-address rewriting profilers
 | 
|    // to resolve the location of a return address to the location of the
 | 
| @@ -379,6 +380,7 @@
 | 
|    virtual Code* unchecked_code() const;
 | 
|  
 | 
|    Object*& code_slot() const;
 | 
| +  Object*& constant_pool_slot() const;
 | 
|  
 | 
|    // Garbage collection support.
 | 
|    virtual void Iterate(ObjectVisitor* v) const;
 | 
| 
 |