| Index: src/lithium.cc
|
| diff --git a/src/lithium.cc b/src/lithium.cc
|
| index 5b3a30332c6d88d609206e0ba3c78927399964c4..196188bbcacd1e3bda52a7093d796b24804facad 100644
|
| --- a/src/lithium.cc
|
| +++ b/src/lithium.cc
|
| @@ -263,14 +263,16 @@ int ElementsKindToShiftSize(ElementsKind elements_kind) {
|
| }
|
|
|
|
|
| -int StackSlotOffset(int index) {
|
| +int StackSlotOffset(int index, int fp_sp_delta) {
|
| + ASSERT(fp_sp_delta > 0);
|
| if (index >= 0) {
|
| // Local or spill slot. Skip the frame pointer, function, and
|
| // context in the fixed part of the frame.
|
| - return -(index + 3) * kPointerSize;
|
| + return -(index + 3) * kPointerSize + fp_sp_delta;
|
| } else {
|
| // Incoming parameter. Skip the return address.
|
| - return -(index + 1) * kPointerSize + kFPOnStackSize + kPCOnStackSize;
|
| + return -(index + 1) * kPointerSize + kFPOnStackSize +
|
| + kPCOnStackSize + fp_sp_delta;
|
| }
|
| }
|
|
|
|
|