| Index: src/mips/lithium-mips.cc
|
| diff --git a/src/mips/lithium-mips.cc b/src/mips/lithium-mips.cc
|
| index ba0e361da6a27ee29bf9a838f7d61fd665eeadbe..8b8d0ccc4cf0dda0086889c0faead8c58f146f96 100644
|
| --- a/src/mips/lithium-mips.cc
|
| +++ b/src/mips/lithium-mips.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;
|
| }
|
|
|
| @@ -1596,7 +1597,8 @@ LInstruction* LChunkBuilder::DoValueOf(HValueOf* instr) {
|
|
|
| LInstruction* LChunkBuilder::DoDateField(HDateField* instr) {
|
| LOperand* object = UseFixed(instr->value(), a0);
|
| - LDateField* result = new LDateField(object, FixedTemp(a1), instr->index());
|
| + LDateField* result =
|
| + new(zone()) LDateField(object, FixedTemp(a1), instr->index());
|
| return MarkAsCall(DefineFixed(result, v0), instr);
|
| }
|
|
|
| @@ -2111,8 +2113,8 @@ LInstruction* LChunkBuilder::DoStringLength(HStringLength* instr) {
|
|
|
|
|
| LInstruction* LChunkBuilder::DoAllocateObject(HAllocateObject* instr) {
|
| - LAllocateObject* result = new(zone()) LAllocateObject(
|
| - TempRegister(), TempRegister());
|
| + LAllocateObject* result =
|
| + new(zone()) LAllocateObject(TempRegister(), TempRegister());
|
| return AssignPointerMap(DefineAsRegister(result));
|
| }
|
|
|
|
|