< prev index next >

src/hotspot/share/runtime/biasedLocking.hpp

Print this page
rev 56099 : imported patch 8226705-rebase
rev 56101 : [mq]: 8226705-refactor


 181   // This initialization routine should only be called once and
 182   // schedules a PeriodicTask to turn on biased locking a few seconds
 183   // into the VM run to avoid startup time regressions
 184   static void init();
 185 
 186   // This provides a global switch for leaving biased locking disabled
 187   // for the first part of a run and enabling it later
 188   static bool enabled();
 189 
 190   // This should be called by JavaThreads to revoke the bias of an object
 191   static void revoke(Handle obj, TRAPS);
 192 
 193   // This should be called by a JavaThread to revoke the bias of an owned object
 194   static void revoke_own_locks(Handle obj, TRAPS);
 195 
 196   static void revoke_at_safepoint(Handle obj);
 197 
 198   // These are used by deoptimization to ensure that monitors on the stack
 199   // can be migrated
 200   static void revoke(GrowableArray<Handle>* objs, JavaThread *biaser);
 201   static void revoke_at_safepoint(GrowableArray<Handle>* objs);
 202 
 203   static void print_counters() { _counters.print(); }
 204   static BiasedLockingCounters* counters() { return &_counters; }
 205 
 206   // These routines are GC-related and should not be called by end
 207   // users. GCs which do not do preservation of mark words do not need
 208   // to call these routines.
 209   static void preserve_marks();
 210   static void restore_marks();
 211 };
 212 
 213 #endif // SHARE_RUNTIME_BIASEDLOCKING_HPP


 181   // This initialization routine should only be called once and
 182   // schedules a PeriodicTask to turn on biased locking a few seconds
 183   // into the VM run to avoid startup time regressions
 184   static void init();
 185 
 186   // This provides a global switch for leaving biased locking disabled
 187   // for the first part of a run and enabling it later
 188   static bool enabled();
 189 
 190   // This should be called by JavaThreads to revoke the bias of an object
 191   static void revoke(Handle obj, TRAPS);
 192 
 193   // This should be called by a JavaThread to revoke the bias of an owned object
 194   static void revoke_own_locks(Handle obj, TRAPS);
 195 
 196   static void revoke_at_safepoint(Handle obj);
 197 
 198   // These are used by deoptimization to ensure that monitors on the stack
 199   // can be migrated
 200   static void revoke(GrowableArray<Handle>* objs, JavaThread *biaser);

 201 
 202   static void print_counters() { _counters.print(); }
 203   static BiasedLockingCounters* counters() { return &_counters; }
 204 
 205   // These routines are GC-related and should not be called by end
 206   // users. GCs which do not do preservation of mark words do not need
 207   // to call these routines.
 208   static void preserve_marks();
 209   static void restore_marks();
 210 };
 211 
 212 #endif // SHARE_RUNTIME_BIASEDLOCKING_HPP
< prev index next >