453 if (_verbose && _context) { |
453 if (_verbose && _context) { |
454 os::print_context(st, _context); |
454 os::print_context(st, _context); |
455 st->cr(); |
455 st->cr(); |
456 } |
456 } |
457 |
457 |
|
458 STEP(105, "(printing register info)") |
|
459 |
|
460 // decode register contents if possible |
|
461 if (_verbose && _context && Universe::is_fully_initialized()) { |
|
462 os::print_register_info(st, _context); |
|
463 st->cr(); |
|
464 } |
|
465 |
458 STEP(110, "(printing stack bounds)" ) |
466 STEP(110, "(printing stack bounds)" ) |
459 |
467 |
460 if (_verbose) { |
468 if (_verbose) { |
461 st->print("Stack: "); |
469 st->print("Stack: "); |
462 |
470 |
520 } |
528 } |
521 |
529 |
522 STEP(135, "(printing target Java thread stack)" ) |
530 STEP(135, "(printing target Java thread stack)" ) |
523 |
531 |
524 // printing Java thread stack trace if it is involved in GC crash |
532 // printing Java thread stack trace if it is involved in GC crash |
525 if (_verbose && (_thread->is_Named_thread())) { |
533 if (_verbose && _thread && (_thread->is_Named_thread())) { |
526 JavaThread* jt = ((NamedThread *)_thread)->processed_thread(); |
534 JavaThread* jt = ((NamedThread *)_thread)->processed_thread(); |
527 if (jt != NULL) { |
535 if (jt != NULL) { |
528 st->print_cr("JavaThread " PTR_FORMAT " (nid = " UINTX_FORMAT ") was being processed", jt, jt->osthread()->thread_id()); |
536 st->print_cr("JavaThread " PTR_FORMAT " (nid = " UINTX_FORMAT ") was being processed", jt, jt->osthread()->thread_id()); |
529 print_stack_trace(st, jt, buf, sizeof(buf), true); |
537 print_stack_trace(st, jt, buf, sizeof(buf), true); |
530 } |
538 } |
603 STEP(190, "(printing heap information)" ) |
611 STEP(190, "(printing heap information)" ) |
604 |
612 |
605 if (_verbose && Universe::is_fully_initialized()) { |
613 if (_verbose && Universe::is_fully_initialized()) { |
606 // print heap information before vm abort |
614 // print heap information before vm abort |
607 Universe::print_on(st); |
615 Universe::print_on(st); |
|
616 st->cr(); |
|
617 } |
|
618 |
|
619 STEP(195, "(printing code cache information)" ) |
|
620 |
|
621 if (_verbose && Universe::is_fully_initialized()) { |
|
622 // print code cache information before vm abort |
|
623 CodeCache::print_bounds(st); |
608 st->cr(); |
624 st->cr(); |
609 } |
625 } |
610 |
626 |
611 STEP(200, "(printing dynamic libraries)" ) |
627 STEP(200, "(printing dynamic libraries)" ) |
612 |
628 |