| Index: src/x87/codegen-x87.cc
 | 
| diff --git a/src/x87/codegen-x87.cc b/src/x87/codegen-x87.cc
 | 
| index 0a39e85816ca0ac88e1c141735efb14d8e7b3f66..776edeb646240249dc265a9a1b5ddcc432615f4b 100644
 | 
| --- a/src/x87/codegen-x87.cc
 | 
| +++ b/src/x87/codegen-x87.cc
 | 
| @@ -381,6 +381,7 @@ void ElementsTransitionGenerator::GenerateDoubleToObject(
 | 
|    __ cmp(edi, Immediate(masm->isolate()->factory()->empty_fixed_array()));
 | 
|    __ j(equal, &only_change_map);
 | 
|  
 | 
| +  __ push(esi);
 | 
|    __ push(eax);
 | 
|    __ push(edx);
 | 
|    __ push(ebx);
 | 
| @@ -425,10 +426,10 @@ void ElementsTransitionGenerator::GenerateDoubleToObject(
 | 
|  
 | 
|    // Call into runtime if GC is required.
 | 
|    __ bind(&gc_required);
 | 
| -  __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
 | 
|    __ pop(ebx);
 | 
|    __ pop(edx);
 | 
|    __ pop(eax);
 | 
| +  __ pop(esi);
 | 
|    __ jmp(fail);
 | 
|  
 | 
|    // Box doubles into heap numbers.
 | 
| @@ -477,7 +478,7 @@ void ElementsTransitionGenerator::GenerateDoubleToObject(
 | 
|  
 | 
|    // Restore registers.
 | 
|    __ pop(eax);
 | 
| -  __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
 | 
| +  __ pop(esi);
 | 
|  
 | 
|    __ bind(&success);
 | 
|  }
 | 
| 
 |