hotspot/src/share/vm/runtime/thread.cpp
changeset 13857 93015306affa
parent 13748 c4455a44f974
child 13860 70ec7368a991
equal deleted inserted replaced
13751:7fd047780d47 13857:93015306affa
   834 }
   834 }
   835 
   835 
   836 void Thread::print_on(outputStream* st) const {
   836 void Thread::print_on(outputStream* st) const {
   837   // get_priority assumes osthread initialized
   837   // get_priority assumes osthread initialized
   838   if (osthread() != NULL) {
   838   if (osthread() != NULL) {
   839     st->print("prio=%d tid=" INTPTR_FORMAT " ", get_priority(this), this);
   839     int os_prio;
       
   840     if (os::get_native_priority(this, &os_prio) == OS_OK) {
       
   841       st->print("os_prio=%d ", os_prio);
       
   842     }
       
   843     st->print("tid=" INTPTR_FORMAT " ", this);
   840     osthread()->print_on(st);
   844     osthread()->print_on(st);
   841   }
   845   }
   842   debug_only(if (WizardMode) print_owned_locks_on(st);)
   846   debug_only(if (WizardMode) print_owned_locks_on(st);)
   843 }
   847 }
   844 
   848 
  2741 
  2745 
  2742 // Called by Threads::print() for VM_PrintThreads operation
  2746 // Called by Threads::print() for VM_PrintThreads operation
  2743 void JavaThread::print_on(outputStream *st) const {
  2747 void JavaThread::print_on(outputStream *st) const {
  2744   st->print("\"%s\" ", get_thread_name());
  2748   st->print("\"%s\" ", get_thread_name());
  2745   oop thread_oop = threadObj();
  2749   oop thread_oop = threadObj();
  2746   if (thread_oop != NULL && java_lang_Thread::is_daemon(thread_oop))  st->print("daemon ");
  2750   if (thread_oop != NULL) {
       
  2751     st->print("#" INT64_FORMAT " ", java_lang_Thread::thread_id(thread_oop));
       
  2752     if (java_lang_Thread::is_daemon(thread_oop))  st->print("daemon ");
       
  2753     st->print("prio=%d ", java_lang_Thread::priority(thread_oop));
       
  2754   }
  2747   Thread::print_on(st);
  2755   Thread::print_on(st);
  2748   // print guess for valid stack memory region (assume 4K pages); helps lock debugging
  2756   // print guess for valid stack memory region (assume 4K pages); helps lock debugging
  2749   st->print_cr("[" INTPTR_FORMAT "]", (intptr_t)last_Java_sp() & ~right_n_bits(12));
  2757   st->print_cr("[" INTPTR_FORMAT "]", (intptr_t)last_Java_sp() & ~right_n_bits(12));
  2750   if (thread_oop != NULL && JDK_Version::is_gte_jdk15x_version()) {
  2758   if (thread_oop != NULL && JDK_Version::is_gte_jdk15x_version()) {
  2751     st->print_cr("   java.lang.Thread.State: %s", java_lang_Thread::thread_status_name(thread_oop));
  2759     st->print_cr("   java.lang.Thread.State: %s", java_lang_Thread::thread_status_name(thread_oop));
  4268 
  4276 
  4269   VMThread::vm_thread()->print_on(st);
  4277   VMThread::vm_thread()->print_on(st);
  4270   st->cr();
  4278   st->cr();
  4271   Universe::heap()->print_gc_threads_on(st);
  4279   Universe::heap()->print_gc_threads_on(st);
  4272   WatcherThread* wt = WatcherThread::watcher_thread();
  4280   WatcherThread* wt = WatcherThread::watcher_thread();
  4273   if (wt != NULL) wt->print_on(st);
  4281   if (wt != NULL) {
  4274   st->cr();
  4282     wt->print_on(st);
       
  4283     st->cr();
       
  4284   }
  4275   CompileBroker::print_compiler_threads_on(st);
  4285   CompileBroker::print_compiler_threads_on(st);
  4276   st->flush();
  4286   st->flush();
  4277 }
  4287 }
  4278 
  4288 
  4279 // Threads::print_on_error() is called by fatal error handler. It's possible
  4289 // Threads::print_on_error() is called by fatal error handler. It's possible