hotspot/src/share/vm/runtime/vm_operations.cpp
changeset 25057 f38210f84f8c
parent 24424 2658d7834c6e
child 25715 d5a8dbdc5150
equal deleted inserted replaced
25056:5ad92b0d1beb 25057:f38210f84f8c
   182 
   182 
   183 bool VM_PrintThreads::doit_prologue() {
   183 bool VM_PrintThreads::doit_prologue() {
   184   assert(Thread::current()->is_Java_thread(), "just checking");
   184   assert(Thread::current()->is_Java_thread(), "just checking");
   185 
   185 
   186   // Make sure AbstractOwnableSynchronizer is loaded
   186   // Make sure AbstractOwnableSynchronizer is loaded
   187   if (JDK_Version::is_gte_jdk16x_version()) {
   187   java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(JavaThread::current());
   188     java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(JavaThread::current());
       
   189   }
       
   190 
   188 
   191   // Get Heap_lock if concurrent locks will be dumped
   189   // Get Heap_lock if concurrent locks will be dumped
   192   if (_print_concurrent_locks) {
   190   if (_print_concurrent_locks) {
   193     Heap_lock->lock();
   191     Heap_lock->lock();
   194   }
   192   }
   223 
   221 
   224 bool VM_FindDeadlocks::doit_prologue() {
   222 bool VM_FindDeadlocks::doit_prologue() {
   225   assert(Thread::current()->is_Java_thread(), "just checking");
   223   assert(Thread::current()->is_Java_thread(), "just checking");
   226 
   224 
   227   // Load AbstractOwnableSynchronizer class
   225   // Load AbstractOwnableSynchronizer class
   228   if (_concurrent_locks && JDK_Version::is_gte_jdk16x_version()) {
   226   if (_concurrent_locks) {
   229     java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(JavaThread::current());
   227     java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(JavaThread::current());
   230   }
   228   }
   231 
   229 
   232   return true;
   230   return true;
   233 }
   231 }
   281 
   279 
   282 bool VM_ThreadDump::doit_prologue() {
   280 bool VM_ThreadDump::doit_prologue() {
   283   assert(Thread::current()->is_Java_thread(), "just checking");
   281   assert(Thread::current()->is_Java_thread(), "just checking");
   284 
   282 
   285   // Load AbstractOwnableSynchronizer class before taking thread snapshots
   283   // Load AbstractOwnableSynchronizer class before taking thread snapshots
   286   if (JDK_Version::is_gte_jdk16x_version()) {
   284   java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(JavaThread::current());
   287     java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(JavaThread::current());
       
   288   }
       
   289 
   285 
   290   if (_with_locked_synchronizers) {
   286   if (_with_locked_synchronizers) {
   291     // Acquire Heap_lock to dump concurrent locks
   287     // Acquire Heap_lock to dump concurrent locks
   292     Heap_lock->lock();
   288     Heap_lock->lock();
   293   }
   289   }