| Index: src/arm/lithium-codegen-arm.cc | 
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc | 
| index 6504fc168faaa93da933a55471059d8c271a5d3f..6a7554e9887dbfe9145bdda9e24f477d58036af3 100644 | 
| --- a/src/arm/lithium-codegen-arm.cc | 
| +++ b/src/arm/lithium-codegen-arm.cc | 
| @@ -649,15 +649,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) { | 
|  |