summaryrefslogtreecommitdiff
path: root/runtime/runtime.cc
diff options
context:
space:
mode:
author Mythri Alle <mythria@google.com> 2022-05-24 14:49:25 +0000
committer Mythri Alle <mythria@google.com> 2022-06-24 08:49:01 +0000
commit90f12677f80169dc3ef919c2067349f94b943e7f (patch)
treec9acb9042b82c2021f15048d847237c016da1c4b /runtime/runtime.cc
parenta2c4150bd4487e28348bb9b26b680f8f058d5ce7 (diff)
Don't use instrumentation stubs for native methods in debuggable
Don't install instrumentation stubs for native methods in debuggable runtimes. The GenericJniTrampoline is updated to call method entry / exit hooks. When JITing JNI stubs in debuggable runtimes we also include calls to method entry / exit hooks when required. Bug: 206029744 Test: art/test.py Change-Id: I1d92ddb1d03daed74d88f5c70d38427dc6055446
Diffstat (limited to 'runtime/runtime.cc')
-rw-r--r--runtime/runtime.cc14
1 files changed, 6 insertions, 8 deletions
diff --git a/runtime/runtime.cc b/runtime/runtime.cc
index 1e58216b6c..07822f3c2f 100644
--- a/runtime/runtime.cc
+++ b/runtime/runtime.cc
@@ -3195,14 +3195,12 @@ void Runtime::DeoptimizeBootImage() {
// If we've already started and we are setting this runtime to debuggable,
// we patch entry points of methods in boot image to interpreter bridge, as
// boot image code may be AOT compiled as not debuggable.
- if (!GetInstrumentation()->IsForcedInterpretOnly()) {
- UpdateEntryPointsClassVisitor visitor(GetInstrumentation());
- GetClassLinker()->VisitClasses(&visitor);
- jit::Jit* jit = GetJit();
- if (jit != nullptr) {
- // Code previously compiled may not be compiled debuggable.
- jit->GetCodeCache()->TransitionToDebuggable();
- }
+ UpdateEntryPointsClassVisitor visitor(GetInstrumentation());
+ GetClassLinker()->VisitClasses(&visitor);
+ jit::Jit* jit = GetJit();
+ if (jit != nullptr) {
+ // Code previously compiled may not be compiled debuggable.
+ jit->GetCodeCache()->TransitionToDebuggable();
}
}