| Index: src/ppc/lithium-codegen-ppc.cc
|
| diff --git a/src/ppc/lithium-codegen-ppc.cc b/src/ppc/lithium-codegen-ppc.cc
|
| index 188318478d0e94633221f72e93f27f0aff6bcb3e..1c2dcd8e52a3485f0444536c86f02408b379d3a8 100644
|
| --- a/src/ppc/lithium-codegen-ppc.cc
|
| +++ b/src/ppc/lithium-codegen-ppc.cc
|
| @@ -612,15 +612,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) {
|
|
|