| Index: src/frames.h
|
| diff --git a/src/frames.h b/src/frames.h
|
| index 5da3f8f96ad337d473b584145a511a204dbc9166..e5b6d3dd02b20548b478d1774aa26f194e6178ad 100644
|
| --- a/src/frames.h
|
| +++ b/src/frames.h
|
| @@ -143,6 +143,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);
|
| @@ -168,8 +169,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;
|
| @@ -183,6 +184,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;
|
| };
|
|
|
|
|
| @@ -423,6 +427,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;
|
|
|