--- old/src/hotspot/share/gc/z/zCollectedHeap.cpp 2020-05-29 12:04:26.000000000 +0200 +++ new/src/hotspot/share/gc/z/zCollectedHeap.cpp 2020-05-29 12:04:26.000000000 +0200 @@ -304,21 +304,34 @@ _heap.print_on(st); } +static const char* z_global_phase_string() { + switch (ZGlobalPhase) { + case ZPhaseMark: return "Mark"; + case ZPhaseMarkCompleted: return "MarkCompleted"; + case ZPhaseRelocate: return "Relocate"; + default: assert(false, "Unknown ZGlobalPhase"); return "Unknown"; + } +} + void ZCollectedHeap::print_on_error(outputStream* st) const { + st->print_cr( "ZGC Globals:"); + st->print_cr( " GlobalPhase: %u (%s)", ZGlobalPhase, z_global_phase_string()); + st->print_cr( " GlobalSeqNum: %u", ZGlobalSeqNum); + st->print_cr( " Offset Max: " SIZE_FORMAT "%s (" PTR_FORMAT ")", + byte_size_in_exact_unit(ZAddressOffsetMax), + exact_unit_for_byte_size(ZAddressOffsetMax), + ZAddressOffsetMax); + st->print_cr( " Page Size Small: " SIZE_FORMAT "M", ZPageSizeSmall / M); + st->print_cr( " Page Size Medium: " SIZE_FORMAT "M", ZPageSizeMedium / M); + st->cr(); + st->print_cr( "ZGC Metadata Bits:"); + st->print_cr( " Good: " PTR_FORMAT, ZAddressGoodMask); + st->print_cr( " Bad: " PTR_FORMAT, ZAddressBadMask); + st->print_cr( " WeakBad: " PTR_FORMAT, ZAddressWeakBadMask); + st->print_cr( " Marked: " PTR_FORMAT, ZAddressMetadataMarked); + st->print_cr( " Remapped: " PTR_FORMAT, ZAddressMetadataRemapped); + st->cr(); CollectedHeap::print_on_error(st); - - st->print_cr( "Heap"); - st->print_cr( " GlobalPhase: %u", ZGlobalPhase); - st->print_cr( " GlobalSeqNum: %u", ZGlobalSeqNum); - st->print_cr( " Offset Max: " SIZE_FORMAT_W(-15) " (" PTR_FORMAT ")", ZAddressOffsetMax, ZAddressOffsetMax); - st->print_cr( " Page Size Small: " SIZE_FORMAT_W(-15) " (" PTR_FORMAT ")", ZPageSizeSmall, ZPageSizeSmall); - st->print_cr( " Page Size Medium: " SIZE_FORMAT_W(-15) " (" PTR_FORMAT ")", ZPageSizeMedium, ZPageSizeMedium); - st->print_cr( "Metadata Bits"); - st->print_cr( " Good: " PTR_FORMAT, ZAddressGoodMask); - st->print_cr( " Bad: " PTR_FORMAT, ZAddressBadMask); - st->print_cr( " WeakBad: " PTR_FORMAT, ZAddressWeakBadMask); - st->print_cr( " Marked: " PTR_FORMAT, ZAddressMetadataMarked); - st->print_cr( " Remapped: " PTR_FORMAT, ZAddressMetadataRemapped); } void ZCollectedHeap::print_extended_on(outputStream* st) const {