diff options
author | 2022-05-24 14:49:25 +0000 | |
---|---|---|
committer | 2022-06-24 08:49:01 +0000 | |
commit | 90f12677f80169dc3ef919c2067349f94b943e7f (patch) | |
tree | c9acb9042b82c2021f15048d847237c016da1c4b /runtime/runtime.cc | |
parent | a2c4150bd4487e28348bb9b26b680f8f058d5ce7 (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.cc | 14 |
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(); } } |