| Index: src/frames.h
|
| diff --git a/src/frames.h b/src/frames.h
|
| index db554e2e1586f9a67dd388251e4bbcb8d7cce49b..af2b55afb5748d4d112755a76094320d08921cdc 100644
|
| --- a/src/frames.h
|
| +++ b/src/frames.h
|
| @@ -147,6 +147,7 @@ class StackHandler BASE_EMBEDDED {
|
| inline Kind kind() const;
|
| inline unsigned index() const;
|
|
|
| + inline Object** constant_pool_address() const;
|
| inline Object** context_address() const;
|
| inline Object** code_address() const;
|
| inline void SetFp(Address slot, Address fp);
|
| @@ -172,8 +173,8 @@ class StandardFrameConstants : public AllStatic {
|
| public:
|
| // Fixed part of the frame consists of return address, caller fp,
|
| // constant pool (if FLAG_enable_ool_constant_pool), context, and function.
|
| - // StandardFrame::IterateExpressions assumes that kContextOffset is the last
|
| - // object pointer.
|
| + // StandardFrame::IterateExpressions assumes that kLastObjectOffset is the
|
| + // last object pointer.
|
| static const int kCPSlotSize =
|
| FLAG_enable_ool_constant_pool ? kPointerSize : 0;
|
| static const int kFixedFrameSizeFromFp = 2 * kPointerSize + kCPSlotSize;
|
| @@ -187,6 +188,9 @@ class StandardFrameConstants : public AllStatic {
|
| 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;
|
| };
|
|
|
|
|
| @@ -427,6 +431,7 @@ class ExitFrame: public StackFrame {
|
| virtual Code* unchecked_code() const;
|
|
|
| Object*& code_slot() const;
|
| + Object*& constant_pool_slot() const;
|
|
|
| // Garbage collection support.
|
| virtual void Iterate(ObjectVisitor* v) const;
|
|
|