NO_THREAD_SAFETY_ANALYSIS; // TODO: Reading lock owner without holding lock is racy.
// NO_THREAD_SAFETY_ANALYSIS for mon->Lock.
- static mirror::Object* MonitorEnter(Thread* thread, mirror::Object* obj, bool trylock)
+ static mirror::Object* MonitorEnter(Thread* thread, mirror::Object* obj)
EXCLUSIVE_LOCK_FUNCTION(obj)
NO_THREAD_SAFETY_ANALYSIS
REQUIRES(!Roles::uninterruptible_)
!monitor_lock_)
SHARED_REQUIRES(Locks::mutator_lock_);
- // Try to lock without blocking, returns true if we acquired the lock.
- bool TryLock(Thread* self)
- REQUIRES(!monitor_lock_)
- SHARED_REQUIRES(Locks::mutator_lock_);
- // Variant for already holding the monitor lock.
- bool TryLockLocked(Thread* self)
- REQUIRES(monitor_lock_)
- SHARED_REQUIRES(Locks::mutator_lock_);
-
void Lock(Thread* self)
REQUIRES(!monitor_lock_)
SHARED_REQUIRES(Locks::mutator_lock_);