Index: src/compiler/arm64/code-generator-arm64.cc |
diff --git a/src/compiler/arm64/code-generator-arm64.cc b/src/compiler/arm64/code-generator-arm64.cc |
index 0ea4f076e522aaecc1cfb91eece357e8c6ac25e2..ab0236fd20dffb730e96f9e86e024a2c67eee4c9 100644 |
--- a/src/compiler/arm64/code-generator-arm64.cc |
+++ b/src/compiler/arm64/code-generator-arm64.cc |
@@ -142,7 +142,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); |
@@ -287,20 +287,14 @@ 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); |
// Meaningless instruction for ICs to overwrite. |
AddNopForSmiCodeInlining(); |
break; |
@@ -313,9 +307,7 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
__ Ldr(x10, FieldMemOperand(func, JSFunction::kCodeEntryOffset)); |
__ Call(x10); |
- RecordSafepoint(instr->pointer_map(), Safepoint::kSimple, 0, |
- Safepoint::kNoLazyDeopt); |
- RecordLazyDeoptimizationEntry(instr); |
+ AddSafepointAndDeopt(instr); |
break; |
} |
case kArm64CallAddress: { |