equal
deleted
inserted
replaced
30 #include "runtime/basicLock.hpp" |
30 #include "runtime/basicLock.hpp" |
31 #include "runtime/handles.hpp" |
31 #include "runtime/handles.hpp" |
32 #include "runtime/perfData.hpp" |
32 #include "runtime/perfData.hpp" |
33 |
33 |
34 class ObjectMonitor; |
34 class ObjectMonitor; |
|
35 class ThreadsList; |
35 |
36 |
36 struct DeflateMonitorCounters { |
37 struct DeflateMonitorCounters { |
37 int nInuse; // currently associated with objects |
38 int nInuse; // currently associated with objects |
38 int nInCirculation; // extant |
39 int nInCirculation; // extant |
39 int nScavenged; // reclaimed |
40 int nScavenged; // reclaimed |
123 |
124 |
124 // java.lang.Thread support |
125 // java.lang.Thread support |
125 static bool current_thread_holds_lock(JavaThread* thread, Handle h_obj); |
126 static bool current_thread_holds_lock(JavaThread* thread, Handle h_obj); |
126 static LockOwnership query_lock_ownership(JavaThread * self, Handle h_obj); |
127 static LockOwnership query_lock_ownership(JavaThread * self, Handle h_obj); |
127 |
128 |
128 static JavaThread* get_lock_owner(Handle h_obj, bool doLock); |
129 static JavaThread* get_lock_owner(ThreadsList * t_list, Handle h_obj); |
129 |
130 |
130 // JNI detach support |
131 // JNI detach support |
131 static void release_monitors_owned_by_thread(TRAPS); |
132 static void release_monitors_owned_by_thread(TRAPS); |
132 static void monitors_iterate(MonitorClosure* m); |
133 static void monitors_iterate(MonitorClosure* m); |
133 |
134 |