| Index: src/frames.h
|
| diff --git a/src/frames.h b/src/frames.h
|
| index 397c7b5db9cf7f912d7c3fe53a9392141b913ae2..5ac8756b4e2173d2606c0f708df2496f29fabb8a 100644
|
| --- a/src/frames.h
|
| +++ b/src/frames.h
|
| @@ -118,15 +118,16 @@ class StandardFrameConstants : public AllStatic {
|
| // StandardFrame::IterateExpressions assumes that kLastObjectOffset is the
|
| // last object pointer.
|
| static const int kCPSlotSize =
|
| - FLAG_enable_ool_constant_pool ? kPointerSize : 0;
|
| + (FLAG_enable_ool_constant_pool || FLAG_enable_embedded_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 = FLAG_enable_ool_constant_pool ?
|
| - -1 * kPointerSize : 0;
|
| + 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;
|
| @@ -215,8 +216,8 @@ class StackFrame BASE_EMBEDDED {
|
| void set_pc(Address pc) { *pc_address() = pc; }
|
|
|
| Address constant_pool() const { return *constant_pool_address(); }
|
| - void set_constant_pool(ConstantPoolArray* constant_pool) {
|
| - *constant_pool_address() = reinterpret_cast<Address>(constant_pool);
|
| + void set_constant_pool(Address constant_pool) {
|
| + *constant_pool_address() = constant_pool;
|
| }
|
|
|
| virtual void SetCallerFp(Address caller_fp) = 0;
|
| @@ -258,7 +259,8 @@ class StackFrame BASE_EMBEDDED {
|
| unsigned* stack_slots);
|
|
|
| virtual void Iterate(ObjectVisitor* v) const = 0;
|
| - static void IteratePc(ObjectVisitor* v, Address* pc_address, Code* holder);
|
| + static void IteratePc(ObjectVisitor* v, Address* pc_address,
|
| + Address* constant_pool_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
|
|
|