summaryrefslogtreecommitdiffstats
path: root/runtime/monitor.h
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2014-08-18 16:41:58 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-08-16 04:08:14 +0000
commit90b180ee1edd17b8dca34ea9e58624818d2ee15a (patch)
tree22a859bd5f2fe8b08d7a7bc2d5309d8228d59b55 /runtime/monitor.h
parent9d352c06d8b6e9ea6343cc4f361a3309c2ce7ebe (diff)
parent956a5228276693a7317ae6b41bfe7a7f0f3cbe6b (diff)
downloadart-90b180ee1edd17b8dca34ea9e58624818d2ee15a.zip
art-90b180ee1edd17b8dca34ea9e58624818d2ee15a.tar.gz
art-90b180ee1edd17b8dca34ea9e58624818d2ee15a.tar.bz2
Merge "ART: Do not recursively abort when visiting locks in a bad state"
Diffstat (limited to 'runtime/monitor.h')
-rw-r--r--runtime/monitor.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/runtime/monitor.h b/runtime/monitor.h
index 16eb1d2..efa83c7 100644
--- a/runtime/monitor.h
+++ b/runtime/monitor.h
@@ -90,8 +90,10 @@ class Monitor {
// Calls 'callback' once for each lock held in the single stack frame represented by
// the current state of 'stack_visitor'.
+ // The abort_on_failure flag allows to not die when the state of the runtime is unorderly. This
+ // is necessary when we have already aborted but want to dump the stack as much as we can.
static void VisitLocks(StackVisitor* stack_visitor, void (*callback)(mirror::Object*, void*),
- void* callback_context)
+ void* callback_context, bool abort_on_failure = true)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
static bool IsValidLockWord(LockWord lock_word);