summaryrefslogtreecommitdiff
path: root/runtime/quick_exception_handler.cc
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2016-12-20 13:57:43 +0000
committerNicolas Geoffray <ngeoffray@google.com>2017-01-30 12:41:52 +0000
commita0619e25aacf8b8074132f4951f75fdbcfd42925 (patch)
treedddc053886464b99be29b9ca69039d74d49605ca /runtime/quick_exception_handler.cc
parentca21dc47adeed92a15a9d3fd090bdd0e6654679c (diff)
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
Diffstat (limited to 'runtime/quick_exception_handler.cc')
-rw-r--r--runtime/quick_exception_handler.cc4
1 files changed, 3 insertions, 1 deletions
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 {