| Index: src/compiler/arm/code-generator-arm.cc
|
| diff --git a/src/compiler/arm/code-generator-arm.cc b/src/compiler/arm/code-generator-arm.cc
|
| index 3b971fa4cdb5a5cb319af1ffda18dc7313d96222..19a7b9478bbad7e3dd90f5d9e1449595cfc626e8 100644
|
| --- a/src/compiler/arm/code-generator-arm.cc
|
| +++ b/src/compiler/arm/code-generator-arm.cc
|
| @@ -150,7 +150,7 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| break;
|
| case kArchDeoptimize: {
|
| int deoptimization_id = MiscField::decode(instr->opcode());
|
| - BuildTranslation(instr, deoptimization_id);
|
| + BuildTranslation(instr, 0, deoptimization_id);
|
|
|
| Address deopt_entry = Deoptimizer::GetDeoptimizationEntry(
|
| isolate(), deoptimization_id, Deoptimizer::LAZY);
|
| @@ -240,20 +240,15 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| if (instr->InputAt(0)->IsImmediate()) {
|
| Handle<Code> code = Handle<Code>::cast(i.InputHeapObject(0));
|
| __ Call(code, RelocInfo::CODE_TARGET);
|
| - RecordSafepoint(instr->pointer_map(), Safepoint::kSimple, 0,
|
| - Safepoint::kNoLazyDeopt);
|
| } else {
|
| Register reg = i.InputRegister(0);
|
| int entry = Code::kHeaderSize - kHeapObjectTag;
|
| __ ldr(reg, MemOperand(reg, entry));
|
| __ Call(reg);
|
| - RecordSafepoint(instr->pointer_map(), Safepoint::kSimple, 0,
|
| - Safepoint::kNoLazyDeopt);
|
| - }
|
| - bool lazy_deopt = (MiscField::decode(instr->opcode()) == 1);
|
| - if (lazy_deopt) {
|
| - RecordLazyDeoptimizationEntry(instr);
|
| }
|
| +
|
| + AddSafepointAndDeopt(instr);
|
| +
|
| DCHECK_EQ(LeaveCC, i.OutputSBit());
|
| break;
|
| }
|
| @@ -265,9 +260,8 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| __ ldr(ip, FieldMemOperand(func, JSFunction::kCodeEntryOffset));
|
| __ Call(ip);
|
|
|
| - RecordSafepoint(instr->pointer_map(), Safepoint::kSimple, 0,
|
| - Safepoint::kNoLazyDeopt);
|
| - RecordLazyDeoptimizationEntry(instr);
|
| + AddSafepointAndDeopt(instr);
|
| +
|
| DCHECK_EQ(LeaveCC, i.OutputSBit());
|
| break;
|
| }
|
|
|