| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index 7966e19fe35e1143a5812c57f9cb5204d0b653fb..dff0033d11de03d9ba0ef825792e06c4e2954a25 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -544,7 +544,7 @@ void LCodeGen::RegisterEnvironmentForDeoptimization(
|
| environment->Register(deoptimization_index,
|
| translation.index(),
|
| (mode == Safepoint::kLazyDeopt) ? pc_offset : -1);
|
| - deoptimizations_.Add(environment);
|
| + deoptimizations_.Add(environment, zone());
|
| }
|
| }
|
|
|
| @@ -639,7 +639,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;
|
| }
|
|
|
| @@ -686,7 +686,7 @@ 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());
|
| }
|
| }
|
| }
|
| @@ -699,7 +699,7 @@ void LCodeGen::RecordSafepoint(LPointerMap* pointers,
|
|
|
|
|
| void LCodeGen::RecordSafepoint(Safepoint::DeoptMode mode) {
|
| - LPointerMap empty_pointers(RelocInfo::kNoPosition);
|
| + LPointerMap empty_pointers(RelocInfo::kNoPosition, zone());
|
| RecordSafepoint(&empty_pointers, mode);
|
| }
|
|
|
| @@ -1985,7 +1985,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(1));
|
| @@ -2908,7 +2908,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->value());
|
| // Smi check.
|
| __ JumpIfNotSmi(input_reg, deferred->entry());
|
| @@ -3110,7 +3110,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.
|
| @@ -3618,7 +3618,7 @@ void LCodeGen::DoStringCharCodeAt(LStringCharCodeAt* instr) {
|
| };
|
|
|
| DeferredStringCharCodeAt* deferred =
|
| - new DeferredStringCharCodeAt(this, instr);
|
| + new(zone()) DeferredStringCharCodeAt(this, instr);
|
|
|
| StringCharLoadGenerator::Generate(masm(),
|
| factory(),
|
| @@ -3674,7 +3674,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());
|
| @@ -3749,7 +3749,7 @@ void LCodeGen::DoNumberTagI(LNumberTagI* instr) {
|
| ASSERT(input->IsRegister() && input->Equals(instr->result()));
|
| Register reg = ToRegister(input);
|
|
|
| - DeferredNumberTagI* deferred = new DeferredNumberTagI(this, instr);
|
| + DeferredNumberTagI* deferred = new(zone()) DeferredNumberTagI(this, instr);
|
| __ SmiTag(reg);
|
| __ j(overflow, deferred->entry());
|
| __ bind(deferred->exit());
|
| @@ -3817,7 +3817,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, no_reg, deferred->entry());
|
| } else {
|
| @@ -4017,7 +4017,7 @@ void LCodeGen::DoTaggedToI(LTaggedToI* instr) {
|
|
|
| Register input_reg = ToRegister(input);
|
|
|
| - DeferredTaggedToI* deferred = new DeferredTaggedToI(this, instr);
|
| + DeferredTaggedToI* deferred = new(zone()) DeferredTaggedToI(this, instr);
|
|
|
| // Smi check.
|
| __ JumpIfNotSmi(input_reg, deferred->entry());
|
| @@ -4358,7 +4358,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));
|
| @@ -4973,7 +4974,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);
|
| ExternalReference stack_limit =
|
| ExternalReference::address_of_stack_limit(isolate());
|
| __ cmp(esp, Operand::StaticVariable(stack_limit));
|
|
|