summaryrefslogtreecommitdiff
path: root/runtime/instrumentation.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/instrumentation.cc')
-rw-r--r--runtime/instrumentation.cc11
1 files changed, 5 insertions, 6 deletions
diff --git a/runtime/instrumentation.cc b/runtime/instrumentation.cc
index ca4895557d..011d947ea2 100644
--- a/runtime/instrumentation.cc
+++ b/runtime/instrumentation.cc
@@ -365,9 +365,9 @@ void InstrumentationInstallStack(Thread* thread, void* arg)
std::string thread_name;
GetThread()->GetThreadName(thread_name);
uint32_t dex_pc = dex::kDexNoIndex;
- if (last_return_pc_ != 0 &&
- GetCurrentOatQuickMethodHeader() != nullptr) {
- dex_pc = GetCurrentOatQuickMethodHeader()->ToDexPc(m, last_return_pc_);
+ if (last_return_pc_ != 0 && GetCurrentOatQuickMethodHeader() != nullptr) {
+ dex_pc = GetCurrentOatQuickMethodHeader()->ToDexPc(
+ GetCurrentQuickFrame(), last_return_pc_);
}
LOG(FATAL) << "While walking " << thread_name << " found unexpected non-runtime method"
<< " without instrumentation exit return or interpreter frame."
@@ -400,9 +400,8 @@ void InstrumentationInstallStack(Thread* thread, void* arg)
SetReturnPc(instrumentation_exit_pc_);
}
uint32_t dex_pc = dex::kDexNoIndex;
- if (last_return_pc_ != 0 &&
- GetCurrentOatQuickMethodHeader() != nullptr) {
- dex_pc = GetCurrentOatQuickMethodHeader()->ToDexPc(m, last_return_pc_);
+ if (last_return_pc_ != 0 && GetCurrentOatQuickMethodHeader() != nullptr) {
+ dex_pc = GetCurrentOatQuickMethodHeader()->ToDexPc(GetCurrentQuickFrame(), last_return_pc_);
}
dex_pcs_.push_back(dex_pc);
last_return_pc_ = return_pc;