| Index: src/x64/lithium-codegen-x64.cc
 | 
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
 | 
| index cbbc915f5532e70835de6bcc57624bb219b484d5..d5cbab4fab4565a9f29dd52ebca50cdc5757842f 100644
 | 
| --- a/src/x64/lithium-codegen-x64.cc
 | 
| +++ b/src/x64/lithium-codegen-x64.cc
 | 
| @@ -553,7 +553,7 @@ void LCodeGen::DeoptimizeIf(Condition cc, LEnvironment* environment) {
 | 
|      // jump entry if this is the case.
 | 
|      if (jump_table_.is_empty() ||
 | 
|          jump_table_.last().address != entry) {
 | 
| -      jump_table_.Add(JumpTableEntry(entry));
 | 
| +      jump_table_.Add(JumpTableEntry(entry), zone());
 | 
|      }
 | 
|      __ j(cc, &jump_table_.last().label);
 | 
|    }
 | 
| @@ -598,7 +598,7 @@ int LCodeGen::DefineDeoptimizationLiteral(Handle<Object> literal) {
 | 
|    for (int i = 0; i < deoptimization_literals_.length(); ++i) {
 | 
|      if (deoptimization_literals_[i].is_identical_to(literal)) return i;
 | 
|    }
 | 
| -  deoptimization_literals_.Add(literal);
 | 
| +  deoptimization_literals_.Add(literal, zone());
 | 
|    return result;
 | 
|  }
 | 
|  
 | 
| @@ -647,12 +647,12 @@ void LCodeGen::RecordSafepoint(
 | 
|      if (pointer->IsStackSlot()) {
 | 
|        safepoint.DefinePointerSlot(pointer->index(), zone());
 | 
|      } else if (pointer->IsRegister() && (kind & Safepoint::kWithRegisters)) {
 | 
| -      safepoint.DefinePointerRegister(ToRegister(pointer));
 | 
| +      safepoint.DefinePointerRegister(ToRegister(pointer), zone());
 | 
|      }
 | 
|    }
 | 
|    if (kind & Safepoint::kWithRegisters) {
 | 
|      // Register rsi always contains a pointer to the context.
 | 
| -    safepoint.DefinePointerRegister(rsi);
 | 
| +    safepoint.DefinePointerRegister(rsi, zone());
 | 
|    }
 | 
|  }
 | 
|  
 | 
| @@ -664,7 +664,7 @@ void LCodeGen::RecordSafepoint(LPointerMap* pointers,
 | 
|  
 | 
|  
 | 
|  void LCodeGen::RecordSafepoint(Safepoint::DeoptMode deopt_mode) {
 | 
| -  LPointerMap empty_pointers(RelocInfo::kNoPosition);
 | 
| +  LPointerMap empty_pointers(RelocInfo::kNoPosition, zone());
 | 
|    RecordSafepoint(&empty_pointers, deopt_mode);
 | 
|  }
 | 
|  
 | 
| @@ -1942,7 +1942,7 @@ void LCodeGen::DoInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr) {
 | 
|  
 | 
|  
 | 
|    DeferredInstanceOfKnownGlobal* deferred;
 | 
| -  deferred = new DeferredInstanceOfKnownGlobal(this, instr);
 | 
| +  deferred = new(zone()) DeferredInstanceOfKnownGlobal(this, instr);
 | 
|  
 | 
|    Label done, false_result;
 | 
|    Register object = ToRegister(instr->InputAt(0));
 | 
| @@ -2880,7 +2880,7 @@ void LCodeGen::DoMathAbs(LUnaryMathOperation* instr) {
 | 
|      EmitIntegerMathAbs(instr);
 | 
|    } else {  // Tagged case.
 | 
|      DeferredMathAbsTaggedHeapNumber* deferred =
 | 
| -        new DeferredMathAbsTaggedHeapNumber(this, instr);
 | 
| +        new(zone()) DeferredMathAbsTaggedHeapNumber(this, instr);
 | 
|      Register input_reg = ToRegister(instr->InputAt(0));
 | 
|      // Smi check.
 | 
|      __ JumpIfNotSmi(input_reg, deferred->entry());
 | 
| @@ -3072,7 +3072,7 @@ void LCodeGen::DoRandom(LRandom* instr) {
 | 
|      LRandom* instr_;
 | 
|    };
 | 
|  
 | 
| -  DeferredDoRandom* deferred = new DeferredDoRandom(this, instr);
 | 
| +  DeferredDoRandom* deferred = new(zone()) DeferredDoRandom(this, instr);
 | 
|  
 | 
|    // Having marked this instruction as a call we can use any
 | 
|    // registers.
 | 
| @@ -3614,7 +3614,7 @@ void LCodeGen::DoStringCharCodeAt(LStringCharCodeAt* instr) {
 | 
|    };
 | 
|  
 | 
|    DeferredStringCharCodeAt* deferred =
 | 
| -      new DeferredStringCharCodeAt(this, instr);
 | 
| +      new(zone()) DeferredStringCharCodeAt(this, instr);
 | 
|  
 | 
|    StringCharLoadGenerator::Generate(masm(),
 | 
|                                      ToRegister(instr->string()),
 | 
| @@ -3668,7 +3668,7 @@ void LCodeGen::DoStringCharFromCode(LStringCharFromCode* instr) {
 | 
|    };
 | 
|  
 | 
|    DeferredStringCharFromCode* deferred =
 | 
| -      new DeferredStringCharFromCode(this, instr);
 | 
| +      new(zone()) DeferredStringCharFromCode(this, instr);
 | 
|  
 | 
|    ASSERT(instr->hydrogen()->value()->representation().IsInteger32());
 | 
|    Register char_code = ToRegister(instr->char_code());
 | 
| @@ -3748,7 +3748,7 @@ void LCodeGen::DoNumberTagD(LNumberTagD* instr) {
 | 
|    Register reg = ToRegister(instr->result());
 | 
|    Register tmp = ToRegister(instr->TempAt(0));
 | 
|  
 | 
| -  DeferredNumberTagD* deferred = new DeferredNumberTagD(this, instr);
 | 
| +  DeferredNumberTagD* deferred = new(zone()) DeferredNumberTagD(this, instr);
 | 
|    if (FLAG_inline_new) {
 | 
|      __ AllocateHeapNumber(reg, tmp, deferred->entry());
 | 
|    } else {
 | 
| @@ -3908,7 +3908,7 @@ void LCodeGen::DoTaggedToI(LTaggedToI* instr) {
 | 
|    ASSERT(input->Equals(instr->result()));
 | 
|  
 | 
|    Register input_reg = ToRegister(input);
 | 
| -  DeferredTaggedToI* deferred = new DeferredTaggedToI(this, instr);
 | 
| +  DeferredTaggedToI* deferred = new(zone()) DeferredTaggedToI(this, instr);
 | 
|    __ JumpIfNotSmi(input_reg, deferred->entry());
 | 
|    __ SmiToInteger32(input_reg, input_reg);
 | 
|    __ bind(deferred->exit());
 | 
| @@ -4162,7 +4162,8 @@ void LCodeGen::DoAllocateObject(LAllocateObject* instr) {
 | 
|      LAllocateObject* instr_;
 | 
|    };
 | 
|  
 | 
| -  DeferredAllocateObject* deferred = new DeferredAllocateObject(this, instr);
 | 
| +  DeferredAllocateObject* deferred =
 | 
| +      new(zone()) DeferredAllocateObject(this, instr);
 | 
|  
 | 
|    Register result = ToRegister(instr->result());
 | 
|    Register scratch = ToRegister(instr->TempAt(0));
 | 
| @@ -4784,7 +4785,7 @@ void LCodeGen::DoStackCheck(LStackCheck* instr) {
 | 
|      ASSERT(instr->hydrogen()->is_backwards_branch());
 | 
|      // Perform stack overflow check if this goto needs it before jumping.
 | 
|      DeferredStackCheck* deferred_stack_check =
 | 
| -        new DeferredStackCheck(this, instr);
 | 
| +        new(zone()) DeferredStackCheck(this, instr);
 | 
|      __ CompareRoot(rsp, Heap::kStackLimitRootIndex);
 | 
|      __ j(below, deferred_stack_check->entry());
 | 
|      EnsureSpaceForLazyDeopt(Deoptimizer::patch_size());
 | 
| 
 |