--- a/hotspot/src/share/vm/utilities/vmError.cpp Wed Oct 20 13:18:17 2010 -0700
+++ b/hotspot/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) {