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