< prev index next >

src/hotspot/share/runtime/synchronizer.hpp

Print this page

167   // to interrupt requests and doesn't timeout.
168   static void wait_uninterruptibly(Handle obj, JavaThread* current);
169 
170   // used by classloading to free classloader object lock,
171   // wait on an internal lock, and reclaim original lock
172   // with original recursion count
173   static intx complete_exit(Handle obj, JavaThread* current);
174   static void reenter (Handle obj, intx recursions, JavaThread* current);
175 
176   // Inflate light weight monitor to heavy weight monitor
177   static ObjectMonitor* inflate(Thread* current, oop obj, const InflateCause cause);
178   // This version is only for internal use
179   static void inflate_helper(oop obj);
180   static const char* inflate_cause_name(const InflateCause cause);
181 
182   // Returns the identity hash value for an oop
183   // NOTE: It may cause monitor inflation
184   static intptr_t identity_hash_value_for(Handle obj);
185   static intptr_t FastHashCode(Thread* current, oop obj);
186 





187   // java.lang.Thread support
188   static bool current_thread_holds_lock(JavaThread* current, Handle h_obj);
189 
190   static JavaThread* get_lock_owner(ThreadsList * t_list, Handle h_obj);
191 
192   // JNI detach support
193   static void release_monitors_owned_by_thread(JavaThread* current);
194 
195   // Iterate ObjectMonitors where the owner == thread; this does NOT include
196   // ObjectMonitors where owner is set to a stack lock address in thread:
197   //
198   // This version of monitors_iterate() works with the in-use monitor list.
199   static void monitors_iterate(MonitorClosure* m, JavaThread* thread);
200   // This version of monitors_iterate() works with the specified linked list.
201   static void monitors_iterate(MonitorClosure* closure,
202                                ObjectMonitorsHashtable::PtrList* list,
203                                JavaThread* thread);
204 
205   // Initialize the gInflationLocks
206   static void initialize();

167   // to interrupt requests and doesn't timeout.
168   static void wait_uninterruptibly(Handle obj, JavaThread* current);
169 
170   // used by classloading to free classloader object lock,
171   // wait on an internal lock, and reclaim original lock
172   // with original recursion count
173   static intx complete_exit(Handle obj, JavaThread* current);
174   static void reenter (Handle obj, intx recursions, JavaThread* current);
175 
176   // Inflate light weight monitor to heavy weight monitor
177   static ObjectMonitor* inflate(Thread* current, oop obj, const InflateCause cause);
178   // This version is only for internal use
179   static void inflate_helper(oop obj);
180   static const char* inflate_cause_name(const InflateCause cause);
181 
182   // Returns the identity hash value for an oop
183   // NOTE: It may cause monitor inflation
184   static intptr_t identity_hash_value_for(Handle obj);
185   static intptr_t FastHashCode(Thread* current, oop obj);
186 
187   // Read mark-word and spin-wait as long as INFLATING is observed.
188   static markWord read_stable_mark(oop obj);
189 
190   static markWord stable_mark(oop obj);
191 
192   // java.lang.Thread support
193   static bool current_thread_holds_lock(JavaThread* current, Handle h_obj);
194 
195   static JavaThread* get_lock_owner(ThreadsList * t_list, Handle h_obj);
196 
197   // JNI detach support
198   static void release_monitors_owned_by_thread(JavaThread* current);
199 
200   // Iterate ObjectMonitors where the owner == thread; this does NOT include
201   // ObjectMonitors where owner is set to a stack lock address in thread:
202   //
203   // This version of monitors_iterate() works with the in-use monitor list.
204   static void monitors_iterate(MonitorClosure* m, JavaThread* thread);
205   // This version of monitors_iterate() works with the specified linked list.
206   static void monitors_iterate(MonitorClosure* closure,
207                                ObjectMonitorsHashtable::PtrList* list,
208                                JavaThread* thread);
209 
210   // Initialize the gInflationLocks
211   static void initialize();
< prev index next >