| Index: src/arm/lithium-arm.cc
 | 
| diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc
 | 
| index 0f0545355c161a47651dad3dc9b5933b9f062d7d..569d2954d7ea8cffd8911123cfa53d421d550c89 100644
 | 
| --- a/src/arm/lithium-arm.cc
 | 
| +++ b/src/arm/lithium-arm.cc
 | 
| @@ -411,9 +411,9 @@ LChunk::LChunk(CompilationInfo* info, HGraph* graph)
 | 
|      : spill_slot_count_(0),
 | 
|        info_(info),
 | 
|        graph_(graph),
 | 
| -      instructions_(32),
 | 
| -      pointer_maps_(8),
 | 
| -      inlined_closures_(1) {
 | 
| +      instructions_(32, graph->zone()),
 | 
| +      pointer_maps_(8, graph->zone()),
 | 
| +      inlined_closures_(1, graph->zone()) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -427,9 +427,9 @@ int LChunk::GetNextSpillIndex(bool is_double) {
 | 
|  LOperand* LChunk::GetNextSpillSlot(bool is_double)  {
 | 
|    int index = GetNextSpillIndex(is_double);
 | 
|    if (is_double) {
 | 
| -    return LDoubleStackSlot::Create(index);
 | 
| +    return LDoubleStackSlot::Create(index, zone());
 | 
|    } else {
 | 
| -    return LStackSlot::Create(index);
 | 
| +    return LStackSlot::Create(index, zone());
 | 
|    }
 | 
|  }
 | 
|  
 | 
| @@ -474,23 +474,23 @@ void LChunk::AddInstruction(LInstruction* instr, HBasicBlock* block) {
 | 
|    LInstructionGap* gap = new(graph_->zone()) LInstructionGap(block);
 | 
|    int index = -1;
 | 
|    if (instr->IsControl()) {
 | 
| -    instructions_.Add(gap);
 | 
| +    instructions_.Add(gap, zone());
 | 
|      index = instructions_.length();
 | 
| -    instructions_.Add(instr);
 | 
| +    instructions_.Add(instr, zone());
 | 
|    } else {
 | 
|      index = instructions_.length();
 | 
| -    instructions_.Add(instr);
 | 
| -    instructions_.Add(gap);
 | 
| +    instructions_.Add(instr, zone());
 | 
| +    instructions_.Add(gap, zone());
 | 
|    }
 | 
|    if (instr->HasPointerMap()) {
 | 
| -    pointer_maps_.Add(instr->pointer_map());
 | 
| +    pointer_maps_.Add(instr->pointer_map(), zone());
 | 
|      instr->pointer_map()->set_lithium_position(index);
 | 
|    }
 | 
|  }
 | 
|  
 | 
|  
 | 
|  LConstantOperand* LChunk::DefineConstantOperand(HConstant* constant) {
 | 
| -  return LConstantOperand::Create(constant->id());
 | 
| +  return LConstantOperand::Create(constant->id(), zone());
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -529,7 +529,8 @@ int LChunk::NearestGapPos(int index) const {
 | 
|  
 | 
|  
 | 
|  void LChunk::AddGapMove(int index, LOperand* from, LOperand* to) {
 | 
| -  GetGapAt(index)->GetOrCreateParallelMove(LGap::START)->AddMove(from, to);
 | 
| +  GetGapAt(index)->GetOrCreateParallelMove(
 | 
| +      LGap::START, zone())->AddMove(from, to, zone());
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -762,7 +763,7 @@ LInstruction* LChunkBuilder::MarkAsCall(LInstruction* instr,
 | 
|  
 | 
|  LInstruction* LChunkBuilder::AssignPointerMap(LInstruction* instr) {
 | 
|    ASSERT(!instr->HasPointerMap());
 | 
| -  instr->set_pointer_map(new(zone()) LPointerMap(position_));
 | 
| +  instr->set_pointer_map(new(zone()) LPointerMap(position_, zone()));
 | 
|    return instr;
 | 
|  }
 | 
|  
 | 
| @@ -1345,7 +1346,8 @@ HValue* LChunkBuilder::SimplifiedDivisorForMathFloorOfDiv(HValue* divisor) {
 | 
|      HConstant* constant_val = HConstant::cast(divisor);
 | 
|      int32_t int32_val = constant_val->Integer32Value();
 | 
|      if (LChunkBuilder::HasMagicNumberForDivisor(int32_val)) {
 | 
| -      return constant_val->CopyToRepresentation(Representation::Integer32());
 | 
| +      return constant_val->CopyToRepresentation(Representation::Integer32(),
 | 
| +                                                divisor->block()->zone());
 | 
|      }
 | 
|    }
 | 
|    return NULL;
 | 
| @@ -1361,7 +1363,7 @@ LInstruction* LChunkBuilder::DoMathFloorOfDiv(HMathFloorOfDiv* instr) {
 | 
|             HConstant::cast(right)->HasInteger32Value() &&
 | 
|             HasMagicNumberForDivisor(HConstant::cast(right)->Integer32Value()));
 | 
|      return AssignEnvironment(DefineAsRegister(
 | 
| -          new LMathFloorOfDiv(dividend, divisor, remainder)));
 | 
| +          new(zone()) LMathFloorOfDiv(dividend, divisor, remainder)));
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -1658,7 +1660,8 @@ LInstruction* LChunkBuilder::DoValueOf(HValueOf* instr) {
 | 
|  
 | 
|  LInstruction* LChunkBuilder::DoDateField(HDateField* instr) {
 | 
|    LOperand* object = UseFixed(instr->value(), r0);
 | 
| -  LDateField* result = new LDateField(object, FixedTemp(r1), instr->index());
 | 
| +  LDateField* result =
 | 
| +      new(zone()) LDateField(object, FixedTemp(r1), instr->index());
 | 
|    return MarkAsCall(DefineFixed(result, r0), instr);
 | 
|  }
 | 
|  
 | 
| @@ -2170,7 +2173,8 @@ LInstruction* LChunkBuilder::DoStringLength(HStringLength* instr) {
 | 
|  
 | 
|  
 | 
|  LInstruction* LChunkBuilder::DoAllocateObject(HAllocateObject* instr) {
 | 
| -  LAllocateObject* result = new LAllocateObject(TempRegister(), TempRegister());
 | 
| +  LAllocateObject* result =
 | 
| +      new(zone()) LAllocateObject(TempRegister(), TempRegister());
 | 
|    return AssignPointerMap(DefineAsRegister(result));
 | 
|  }
 | 
|  
 | 
| 
 |