summaryrefslogtreecommitdiff
path: root/runtime/quick_exception_handler.h
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2017-05-08 09:34:26 +0100
committerNicolas Geoffray <ngeoffray@google.com>2017-05-10 09:27:33 +0100
commit4e92c3ce7ef354620a785553bbada554fca83a67 (patch)
tree42029deff4d3ba7f89b5fdbf79ff410da575f431 /runtime/quick_exception_handler.h
parent549844e9ccf432d1396b19af890eedb602b8ba04 (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.h3
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_);