| Index: src/x64/lithium-x64.cc
|
| diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc
|
| index 048169c97adc473dfe08f056b2b4c55e92f28f67..b1d77c05081ce361de38be6073bf27144d167fe6 100644
|
| --- a/src/x64/lithium-x64.cc
|
| +++ b/src/x64/lithium-x64.cc
|
| @@ -369,9 +369,9 @@ LOperand* LChunk::GetNextSpillSlot(bool is_double) {
|
| // stack slots for int32 values.
|
| 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());
|
| }
|
| }
|
|
|
| @@ -467,23 +467,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());
|
| }
|
|
|
|
|
| @@ -522,7 +522,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());
|
| }
|
|
|
|
|
| @@ -757,7 +758,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;
|
| }
|
|
|
| @@ -1594,7 +1595,7 @@ LInstruction* LChunkBuilder::DoValueOf(HValueOf* instr) {
|
|
|
| LInstruction* LChunkBuilder::DoDateField(HDateField* instr) {
|
| LOperand* object = UseFixed(instr->value(), rax);
|
| - LDateField* result = new LDateField(object, instr->index());
|
| + LDateField* result = new(zone()) LDateField(object, instr->index());
|
| return MarkAsCall(DefineFixed(result, rax), instr);
|
| }
|
|
|
| @@ -2103,7 +2104,7 @@ LInstruction* LChunkBuilder::DoStringLength(HStringLength* instr) {
|
|
|
|
|
| LInstruction* LChunkBuilder::DoAllocateObject(HAllocateObject* instr) {
|
| - LAllocateObject* result = new LAllocateObject(TempRegister());
|
| + LAllocateObject* result = new(zone()) LAllocateObject(TempRegister());
|
| return AssignPointerMap(DefineAsRegister(result));
|
| }
|
|
|
|
|