| Index: src/frames.h
|
| diff --git a/src/frames.h b/src/frames.h
|
| index 230144d6800a9f4c8134c1903421aa6f3a6e8e28..a8b5cdaaee2b14b484632b608480f02a167745b8 100644
|
| --- a/src/frames.h
|
| +++ b/src/frames.h
|
| @@ -167,15 +167,19 @@ class StackHandler BASE_EMBEDDED {
|
| class StandardFrameConstants : public AllStatic {
|
| public:
|
| // Fixed part of the frame consists of return address, caller fp,
|
| - // context and function.
|
| + // context, function, and constant pool (if FLAG_enable_ool_constant_pool).
|
| // StandardFrame::IterateExpressions assumes that kContextOffset is the last
|
| // object pointer.
|
| - static const int kFixedFrameSizeFromFp = 2 * kPointerSize;
|
| + static const int kCPSlotSize =
|
| + 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;
|
| - static const int kMarkerOffset = -2 * kPointerSize;
|
| - static const int kContextOffset = -1 * kPointerSize;
|
| + 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;
|
| @@ -602,6 +606,7 @@ class JavaScriptFrame: public StandardFrame {
|
| // Architecture-specific register description.
|
| static Register fp_register();
|
| static Register context_register();
|
| + static Register constant_pool_pointer_register();
|
|
|
| static JavaScriptFrame* cast(StackFrame* frame) {
|
| ASSERT(frame->is_java_script());
|
| @@ -758,6 +763,7 @@ class StubFailureTrampolineFrame: public StandardFrame {
|
| // Architecture-specific register description.
|
| static Register fp_register();
|
| static Register context_register();
|
| + static Register constant_pool_pointer_register();
|
|
|
| protected:
|
| inline explicit StubFailureTrampolineFrame(
|
|
|