diff src/share/vm/utilities/vmError.cpp @ 1907:1e9a9d2e6509

6970683: improvements to hs_err output Reviewed-by: kvn, jrose, dholmes, coleenp
author never
date Thu, 21 Oct 2010 11:55:10 -0700
parents f4f596978298
children f95d63e2154a
line wrap: on
line diff
--- a/src/share/vm/utilities/vmError.cpp	Wed Oct 20 13:18:17 2010 -0700
+++ b/src/share/vm/utilities/vmError.cpp	Thu Oct 21 11:55:10 2010 -0700
@@ -455,6 +455,14 @@
        st->cr();
      }
 
+  STEP(105, "(printing register info)")
+
+     // decode register contents if possible
+     if (_verbose && _context && Universe::is_fully_initialized()) {
+       os::print_register_info(st, _context);
+       st->cr();
+     }
+
   STEP(110, "(printing stack bounds)" )
 
      if (_verbose) {
@@ -522,7 +530,7 @@
   STEP(135, "(printing target Java thread stack)" )
 
      // printing Java thread stack trace if it is involved in GC crash
-     if (_verbose && (_thread->is_Named_thread())) {
+     if (_verbose && _thread && (_thread->is_Named_thread())) {
        JavaThread*  jt = ((NamedThread *)_thread)->processed_thread();
        if (jt != NULL) {
          st->print_cr("JavaThread " PTR_FORMAT " (nid = " UINTX_FORMAT ") was being processed", jt, jt->osthread()->thread_id());
@@ -608,6 +616,14 @@
        st->cr();
      }
 
+  STEP(195, "(printing code cache information)" )
+
+     if (_verbose && Universe::is_fully_initialized()) {
+       // print code cache information before vm abort
+       CodeCache::print_bounds(st);
+       st->cr();
+     }
+
   STEP(200, "(printing dynamic libraries)" )
 
      if (_verbose) {