| Index: src/x64/code-stubs-x64.cc
 | 
| diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
 | 
| index 61f94bea487a4acef7e811964bfb9985f42bc890..e38591580b10e765c845bc5689d93445b240e8b1 100644
 | 
| --- a/src/x64/code-stubs-x64.cc
 | 
| +++ b/src/x64/code-stubs-x64.cc
 | 
| @@ -91,7 +91,8 @@ void FastNewClosureStub::Generate(MacroAssembler* masm) {
 | 
|  void FastNewContextStub::Generate(MacroAssembler* masm) {
 | 
|    // Try to allocate the context in new space.
 | 
|    Label gc;
 | 
| -  __ AllocateInNewSpace((slots_ * kPointerSize) + FixedArray::kHeaderSize,
 | 
| +  int length = slots_ + Context::MIN_CONTEXT_SLOTS;
 | 
| +  __ AllocateInNewSpace((length * kPointerSize) + FixedArray::kHeaderSize,
 | 
|                          rax, rbx, rcx, &gc, TAG_OBJECT);
 | 
|  
 | 
|    // Get the function from the stack.
 | 
| @@ -100,7 +101,7 @@ void FastNewContextStub::Generate(MacroAssembler* masm) {
 | 
|    // Setup the object header.
 | 
|    __ LoadRoot(kScratchRegister, Heap::kContextMapRootIndex);
 | 
|    __ movq(FieldOperand(rax, HeapObject::kMapOffset), kScratchRegister);
 | 
| -  __ Move(FieldOperand(rax, FixedArray::kLengthOffset), Smi::FromInt(slots_));
 | 
| +  __ Move(FieldOperand(rax, FixedArray::kLengthOffset), Smi::FromInt(length));
 | 
|  
 | 
|    // Setup the fixed slots.
 | 
|    __ Set(rbx, 0);  // Set to NULL.
 | 
| @@ -115,7 +116,7 @@ void FastNewContextStub::Generate(MacroAssembler* masm) {
 | 
|  
 | 
|    // Initialize the rest of the slots to undefined.
 | 
|    __ LoadRoot(rbx, Heap::kUndefinedValueRootIndex);
 | 
| -  for (int i = Context::MIN_CONTEXT_SLOTS; i < slots_; i++) {
 | 
| +  for (int i = Context::MIN_CONTEXT_SLOTS; i < length; i++) {
 | 
|      __ movq(Operand(rax, Context::SlotOffset(i)), rbx);
 | 
|    }
 | 
|  
 | 
| 
 |