| Index: src/mips/lithium-codegen-mips.cc
|
| diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc
|
| index 42ea211cadb0f5a8a4a41ecfcb23c01c502fa67e..ee58ac8f58a5ed6bbdd0e0945892345f509069af 100644
|
| --- a/src/mips/lithium-codegen-mips.cc
|
| +++ b/src/mips/lithium-codegen-mips.cc
|
| @@ -647,15 +647,23 @@ void LCodeGen::AddToTranslation(LEnvironment* environment,
|
| }
|
|
|
| if (op->IsStackSlot()) {
|
| + int index = op->index();
|
| + if (index >= 0) {
|
| + index += StandardFrameConstants::kFixedFrameSize / kPointerSize;
|
| + }
|
| if (is_tagged) {
|
| - translation->StoreStackSlot(op->index());
|
| + translation->StoreStackSlot(index);
|
| } else if (is_uint32) {
|
| - translation->StoreUint32StackSlot(op->index());
|
| + translation->StoreUint32StackSlot(index);
|
| } else {
|
| - translation->StoreInt32StackSlot(op->index());
|
| + translation->StoreInt32StackSlot(index);
|
| }
|
| } else if (op->IsDoubleStackSlot()) {
|
| - translation->StoreDoubleStackSlot(op->index());
|
| + int index = op->index();
|
| + if (index >= 0) {
|
| + index += StandardFrameConstants::kFixedFrameSize / kPointerSize;
|
| + }
|
| + translation->StoreDoubleStackSlot(index);
|
| } else if (op->IsRegister()) {
|
| Register reg = ToRegister(op);
|
| if (is_tagged) {
|
|
|