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 |