| Index: src/mips64/lithium-codegen-mips64.cc
|
| diff --git a/src/mips64/lithium-codegen-mips64.cc b/src/mips64/lithium-codegen-mips64.cc
|
| index acbaffdadee7af7b86a2575fbbb7cfe56196618c..02d55ead49dba2e97eb9f948faec982d7d26dae6 100644
|
| --- a/src/mips64/lithium-codegen-mips64.cc
|
| +++ b/src/mips64/lithium-codegen-mips64.cc
|
| @@ -635,15 +635,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) {
|
|
|