< prev index next >

src/hotspot/share/services/management.cpp

Print this page

        

*** 1079,1091 **** if (num_threads != infoArray_h->length()) { THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(), "The length of the given ThreadInfo array does not match the length of the given array of thread IDs", -1); } - // make sure the AbstractOwnableSynchronizer klass is loaded before taking thread snapshots - java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(CHECK_0); - // Must use ThreadDumpResult to store the ThreadSnapshot. // GC may occur after the thread snapshots are taken but before // this function returns. The threadObj and other oops kept // in the ThreadSnapshot are marked and adjusted during GC. ThreadDumpResult dump_result(num_threads); --- 1079,1088 ----
*** 1152,1164 **** // JVM_ENTRY(jobjectArray, jmm_DumpThreads(JNIEnv *env, jlongArray thread_ids, jboolean locked_monitors, jboolean locked_synchronizers, jint maxDepth)) ResourceMark rm(THREAD); - // make sure the AbstractOwnableSynchronizer klass is loaded before taking thread snapshots - java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(CHECK_NULL); - typeArrayOop ta = typeArrayOop(JNIHandles::resolve(thread_ids)); int num_threads = (ta != NULL ? ta->length() : 0); typeArrayHandle ids_ah(THREAD, ta); ThreadDumpResult dump_result(num_threads); // can safepoint --- 1149,1158 ----
< prev index next >