| 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));
|
| }
|
|
|
|
|