| Index: src/x64/ic-x64.cc
 | 
| diff --git a/src/x64/ic-x64.cc b/src/x64/ic-x64.cc
 | 
| index 27a96674cf7d02c8d40235e8e8549c6f6f3c1985..901764fc1d3b30c1e69117d6b76ad0e08ceb3361 100644
 | 
| --- a/src/x64/ic-x64.cc
 | 
| +++ b/src/x64/ic-x64.cc
 | 
| @@ -1602,6 +1602,37 @@ void KeyedStoreIC::GenerateMiss(MacroAssembler* masm, bool force_generic) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +void KeyedStoreIC::GenerateTransitionElementsSmiToDouble(MacroAssembler* masm) {
 | 
| +  // ----------- S t a t e -------------
 | 
| +  //  -- rdx     : receiver
 | 
| +  //  -- rsp[0]  : return address
 | 
| +  // -----------------------------------
 | 
| +  // Must return the modified receiver in eax.
 | 
| +
 | 
| +  __ pop(rbx);
 | 
| +  __ push(rdx);
 | 
| +  __ push(rbx);  // return address
 | 
| +
 | 
| +  __ TailCallRuntime(Runtime::kTransitionElementsSmiToDouble, 1, 1);
 | 
| +}
 | 
| +
 | 
| +
 | 
| +void KeyedStoreIC::GenerateTransitionElementsDoubleToObject(
 | 
| +    MacroAssembler* masm) {
 | 
| +  // ----------- S t a t e -------------
 | 
| +  //  -- rdx     : receiver
 | 
| +  //  -- rsp[0]  : return address
 | 
| +  // -----------------------------------
 | 
| +  // Must return the modified receiver in eax.
 | 
| +
 | 
| +  __ pop(rbx);
 | 
| +  __ push(rdx);
 | 
| +  __ push(rbx);  // return address
 | 
| +
 | 
| +  __ TailCallRuntime(Runtime::kTransitionElementsDoubleToObject, 1, 1);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  #undef __
 | 
|  
 | 
|  
 | 
| 
 |