diff options
Diffstat (limited to 'runtime/monitor.h')
-rw-r--r-- | runtime/monitor.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/runtime/monitor.h b/runtime/monitor.h index 0b5b7e5..71fe716 100644 --- a/runtime/monitor.h +++ b/runtime/monitor.h @@ -103,6 +103,7 @@ class Monitor { static bool IsValidLockWord(int32_t lock_word); mirror::Object* GetObject(); + void SetObject(mirror::Object* object); private: explicit Monitor(Thread* owner, mirror::Object* obj) @@ -159,7 +160,7 @@ class Monitor { int lock_count_ GUARDED_BY(monitor_lock_); // What object are we part of (for debugging). - mirror::Object* const obj_; + mirror::Object* obj_; // Threads currently waiting on this monitor. Thread* wait_set_ GUARDED_BY(monitor_lock_); @@ -182,10 +183,11 @@ class MonitorList { ~MonitorList(); void Add(Monitor* m); - void SweepMonitorList(IsMarkedTester is_marked, void* arg) - SHARED_LOCKS_REQUIRED(Locks::heap_bitmap_lock_); + + void SweepMonitorList(RootVisitor visitor, void* arg); void DisallowNewMonitors(); void AllowNewMonitors(); + private: bool allow_new_monitors_ GUARDED_BY(monitor_list_lock_); Mutex monitor_list_lock_ DEFAULT_MUTEX_ACQUIRED_AFTER; |