summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/intrinsics_x86_64.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/intrinsics_x86_64.cc')
-rw-r--r--compiler/optimizing/intrinsics_x86_64.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/optimizing/intrinsics_x86_64.cc b/compiler/optimizing/intrinsics_x86_64.cc
index c73f092a61..2064b18138 100644
--- a/compiler/optimizing/intrinsics_x86_64.cc
+++ b/compiler/optimizing/intrinsics_x86_64.cc
@@ -134,12 +134,13 @@ class IntrinsicSlowPathX86_64 : public SlowPathCodeX86_64 {
CodeGeneratorX86_64* codegen = down_cast<CodeGeneratorX86_64*>(codegen_in);
__ Bind(GetEntryLabel());
- codegen->SaveLiveRegisters(invoke_->GetLocations());
+ SaveLiveRegisters(codegen, invoke_->GetLocations());
MoveArguments(invoke_, codegen->GetGraph()->GetArena(), codegen);
if (invoke_->IsInvokeStaticOrDirect()) {
codegen->GenerateStaticOrDirectCall(invoke_->AsInvokeStaticOrDirect(), CpuRegister(RDI));
+ RecordPcInfo(codegen, invoke_, invoke_->GetDexPc());
} else {
UNIMPLEMENTED(FATAL) << "Non-direct intrinsic slow-path not yet implemented";
UNREACHABLE();
@@ -153,7 +154,7 @@ class IntrinsicSlowPathX86_64 : public SlowPathCodeX86_64 {
MoveFromReturnRegister(out, invoke_->GetType(), codegen);
}
- codegen->RestoreLiveRegisters(invoke_->GetLocations());
+ RestoreLiveRegisters(codegen, invoke_->GetLocations());
__ jmp(GetExitLabel());
}