diff options
Diffstat (limited to 'runtime/monitor.h')
-rw-r--r-- | runtime/monitor.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/monitor.h b/runtime/monitor.h index 09cfafa..d7de8a5 100644 --- a/runtime/monitor.h +++ b/runtime/monitor.h @@ -27,6 +27,7 @@ #include "atomic_integer.h" #include "base/mutex.h" #include "root_visitor.h" +#include "sirt_ref.h" #include "thread_state.h" namespace art { @@ -107,9 +108,12 @@ class Monitor { return hash_code_.load() != 0; } - static void InflateThinLocked(Thread* self, mirror::Object* obj, LockWord lock_word, + static void InflateThinLocked(Thread* self, SirtRef<mirror::Object>& obj, LockWord lock_word, uint32_t hash_code) NO_THREAD_SAFETY_ANALYSIS; + static bool Deflate(Thread* self, mirror::Object* obj) + SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + private: explicit Monitor(Thread* owner, mirror::Object* obj, int32_t hash_code) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); |