diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2017-05-08 09:34:26 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2017-05-10 09:27:33 +0100 |
commit | 4e92c3ce7ef354620a785553bbada554fca83a67 (patch) | |
tree | 42029deff4d3ba7f89b5fdbf79ff410da575f431 /runtime/quick_exception_handler.h | |
parent | 549844e9ccf432d1396b19af890eedb602b8ba04 (diff) |
Add runtime reasons for deopt.
Currently to help investigate. Also:
1) Log when deoptimization happens (which method and what reason)
2) Trace when deoptimization happens (to make it visible in systrace)
bug:37655083
Test: test-art-host test-art-target
Change-Id: I0c2d87b40db09e8e475cf97a7c784a034c585e97
Diffstat (limited to 'runtime/quick_exception_handler.h')
-rw-r--r-- | runtime/quick_exception_handler.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/runtime/quick_exception_handler.h b/runtime/quick_exception_handler.h index 3ead7dbe64..8090f9b035 100644 --- a/runtime/quick_exception_handler.h +++ b/runtime/quick_exception_handler.h @@ -20,6 +20,7 @@ #include "base/logging.h" #include "base/macros.h" #include "base/mutex.h" +#include "deoptimization_kind.h" #include "stack_reference.h" namespace art { @@ -62,7 +63,7 @@ class QuickExceptionHandler { // the result of IsDeoptimizeable(). // - It can be either full-fragment, or partial-fragment deoptimization, depending // on whether that single frame covers full or partial fragment. - void DeoptimizeSingleFrame() REQUIRES_SHARED(Locks::mutator_lock_); + void DeoptimizeSingleFrame(DeoptimizationKind kind) REQUIRES_SHARED(Locks::mutator_lock_); void DeoptimizePartialFragmentFixup(uintptr_t return_pc) REQUIRES_SHARED(Locks::mutator_lock_); |