summaryrefslogtreecommitdiff
path: root/runtime/instrumentation.cc
diff options
context:
space:
mode:
author android-build-team Robot <android-build-team-robot@google.com> 2018-04-05 07:23:24 +0000
committer android-build-team Robot <android-build-team-robot@google.com> 2018-04-05 07:23:24 +0000
commit406cfc2782cd6ba93a4162c066a0d13cbf4967a2 (patch)
tree14414421a47add577038a7cc60352effc262dfd1 /runtime/instrumentation.cc
parent1f07c426558d8019058d8825319091e1e2d6c55c (diff)
parent60af9c3a914c518f39d58a79a74a4ffdc4bdaa3a (diff)
Snap for 4701683 from 60af9c3a914c518f39d58a79a74a4ffdc4bdaa3a to pi-release
Change-Id: I75cb19465ec86c1ebb2aaa729a169155c1ad0a49
Diffstat (limited to 'runtime/instrumentation.cc')
-rw-r--r--runtime/instrumentation.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/runtime/instrumentation.cc b/runtime/instrumentation.cc
index 84a148f21c..d7f33d5e43 100644
--- a/runtime/instrumentation.cc
+++ b/runtime/instrumentation.cc
@@ -139,10 +139,13 @@ static void UpdateEntrypoints(ArtMethod* method, const void* quick_code)
bool Instrumentation::NeedDebugVersionFor(ArtMethod* method) const
REQUIRES_SHARED(Locks::mutator_lock_) {
- return Runtime::Current()->IsJavaDebuggable() &&
+ art::Runtime* runtime = Runtime::Current();
+ // If anything says we need the debug version or we are debuggable we will need the debug version
+ // of the method.
+ return (runtime->GetRuntimeCallbacks()->MethodNeedsDebugVersion(method) ||
+ runtime->IsJavaDebuggable()) &&
!method->IsNative() &&
- !method->IsProxyMethod() &&
- Runtime::Current()->GetRuntimeCallbacks()->IsMethodBeingInspected(method);
+ !method->IsProxyMethod();
}
void Instrumentation::InstallStubsForMethod(ArtMethod* method) {