< prev index next >

src/hotspot/share/prims/jvmtiEnvBase.cpp

Print this page
rev 47287 : Port 09.17.Thread_SMR_logging_update from JDK9 to JDK10
rev 47289 : eosterlund, stefank CR - refactor code into threadSMR.cpp and threadSMR.hpp
rev 47290 : eosterlund CR - need more inline fixes.
rev 47292 : stefank, coleenp CR - refactor most JavaThreadIterator usage to use JavaThreadIteratorWithHandle.

@@ -1275,14 +1275,11 @@
 VM_GetAllStackTraces::doit() {
   assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint");
 
   ResourceMark rm;
   _final_thread_count = 0;
-  {
-    ThreadsListHandle tlh;
-    JavaThreadIterator jti(tlh.list());
-    for (JavaThread *jt = jti.first(); jt != NULL; jt = jti.next()) {
+  for (JavaThreadIteratorWithHandle jtiwh; JavaThread *jt = jtiwh.next(); ) {
       oop thread_oop = jt->threadObj();
       if (thread_oop != NULL &&
           !jt->is_exiting() &&
           java_lang_Thread::is_alive(thread_oop) &&
           !jt->is_hidden_from_external_view()) {

@@ -1290,11 +1287,10 @@
         // Handle block of the calling thread is used to create local refs.
         fill_frames((jthread)JNIHandles::make_local(_calling_thread, thread_oop),
                     jt, thread_oop);
       }
     }
-  }
   allocate_and_fill_stacks(_final_thread_count);
 }
 
 // Verifies that the top frame is a java frame in an expected state.
 // Deoptimizes frame if needed.
< prev index next >