| Index: src/mips/lithium-codegen-mips.cc
|
| diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc
|
| index 2a66957fbfc4f7720a7d2e60ecd397c78a9abe1f..2073d04d9e924e7400e3987ae78f37b9043b1295 100644
|
| --- a/src/mips/lithium-codegen-mips.cc
|
| +++ b/src/mips/lithium-codegen-mips.cc
|
| @@ -599,7 +599,7 @@ void LCodeGen::RegisterEnvironmentForDeoptimization(LEnvironment* environment,
|
| environment->Register(deoptimization_index,
|
| translation.index(),
|
| (mode == Safepoint::kLazyDeopt) ? pc_offset : -1);
|
| - deoptimizations_.Add(environment);
|
| + deoptimizations_.Add(environment, zone());
|
| }
|
| }
|
|
|
| @@ -678,7 +678,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;
|
| }
|
|
|
| @@ -726,12 +726,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 cp always contains a pointer to the context.
|
| - safepoint.DefinePointerRegister(cp);
|
| + safepoint.DefinePointerRegister(cp, zone());
|
| }
|
| }
|
|
|
| @@ -743,7 +743,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);
|
| }
|
|
|
| @@ -2044,7 +2044,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));
|
| @@ -3025,7 +3025,7 @@ void LCodeGen::DoMathAbs(LUnaryMathOperation* instr) {
|
| } else {
|
| // Representation is tagged.
|
| DeferredMathAbsTaggedHeapNumber* deferred =
|
| - new DeferredMathAbsTaggedHeapNumber(this, instr);
|
| + new(zone()) DeferredMathAbsTaggedHeapNumber(this, instr);
|
| Register input = ToRegister(instr->InputAt(0));
|
| // Smi check.
|
| __ JumpIfNotSmi(input, deferred->entry());
|
| @@ -3216,7 +3216,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.
|
| ASSERT(ToDoubleRegister(instr->result()).is(f0));
|
| @@ -3777,7 +3777,7 @@ void LCodeGen::DoStringCharCodeAt(LStringCharCodeAt* instr) {
|
| };
|
|
|
| DeferredStringCharCodeAt* deferred =
|
| - new DeferredStringCharCodeAt(this, instr);
|
| + new(zone()) DeferredStringCharCodeAt(this, instr);
|
| StringCharLoadGenerator::Generate(masm(),
|
| ToRegister(instr->string()),
|
| ToRegister(instr->index()),
|
| @@ -3831,7 +3831,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());
|
| @@ -3907,7 +3907,7 @@ void LCodeGen::DoNumberTagI(LNumberTagI* instr) {
|
| Register dst = ToRegister(instr->result());
|
| Register overflow = scratch0();
|
|
|
| - DeferredNumberTagI* deferred = new DeferredNumberTagI(this, instr);
|
| + DeferredNumberTagI* deferred = new(zone()) DeferredNumberTagI(this, instr);
|
| __ SmiTagCheckOverflow(dst, src, overflow);
|
| __ BranchOnOverflow(deferred->entry(), overflow);
|
| __ bind(deferred->exit());
|
| @@ -3975,7 +3975,7 @@ void LCodeGen::DoNumberTagD(LNumberTagD* instr) {
|
| Register temp1 = ToRegister(instr->TempAt(0));
|
| Register temp2 = ToRegister(instr->TempAt(1));
|
|
|
| - DeferredNumberTagD* deferred = new DeferredNumberTagD(this, instr);
|
| + DeferredNumberTagD* deferred = new(zone()) DeferredNumberTagD(this, instr);
|
| if (FLAG_inline_new) {
|
| __ LoadRoot(scratch, Heap::kHeapNumberMapRootIndex);
|
| __ AllocateHeapNumber(reg, temp1, temp2, scratch, deferred->entry());
|
| @@ -4169,7 +4169,7 @@ void LCodeGen::DoTaggedToI(LTaggedToI* instr) {
|
|
|
| Register input_reg = ToRegister(input);
|
|
|
| - DeferredTaggedToI* deferred = new DeferredTaggedToI(this, instr);
|
| + DeferredTaggedToI* deferred = new(zone()) DeferredTaggedToI(this, instr);
|
|
|
| // Let the deferred code handle the HeapObject case.
|
| __ JumpIfNotSmi(input_reg, deferred->entry());
|
| @@ -4420,7 +4420,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));
|
| @@ -5065,7 +5066,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);
|
| __ LoadRoot(at, Heap::kStackLimitRootIndex);
|
| __ Branch(deferred_stack_check->entry(), lo, sp, Operand(at));
|
| EnsureSpaceForLazyDeopt();
|
|
|