From a0619e25aacf8b8074132f4951f75fdbcfd42925 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Tue, 20 Dec 2016 13:57:43 +0000 Subject: Make --debuggable rely on JIT code. Removes -Xfully-deoptable in the process, which was added as a temporary workaround until this CL. Partial revert of https://android-review.googlesource.com/#/c/302232/ Makes things consistent with existing infrastructure: - Parse the --debuggable from the compiler options, just like --compiler-filter. - Add DEBUG_JAVA_DEBUGGABLE, passed by the zygote, for debuggable apps. - Java debuggable now solely relies on JIT for simplicity. - Debugging under userdebug for non-java-debuggable apps is still best effort. Test: test-art-host, jdwp bug: 28769520 Change-Id: Id0593aacd85b9780da97f20914a50943957c858f --- runtime/quick_exception_handler.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'runtime/quick_exception_handler.cc') diff --git a/runtime/quick_exception_handler.cc b/runtime/quick_exception_handler.cc index b809c3eb56..110c74b884 100644 --- a/runtime/quick_exception_handler.cc +++ b/runtime/quick_exception_handler.cc @@ -347,9 +347,11 @@ class DeoptimizeStackVisitor FINAL : public StackVisitor { callee_method_ = method; return true; } else if (!single_frame_deopt_ && - !Runtime::Current()->IsDeoptimizeable(GetCurrentQuickFramePc())) { + !Runtime::Current()->IsAsyncDeoptimizeable(GetCurrentQuickFramePc())) { // We hit some code that's not deoptimizeable. However, Single-frame deoptimization triggered // from compiled code is always allowed since HDeoptimize always saves the full environment. + LOG(WARNING) << "Got request to deoptimize un-deoptimizable method " + << method->PrettyMethod(); FinishStackWalk(); return false; // End stack walk. } else { -- cgit v1.2.3-59-g8ed1b