287 VirtualSpaceSummary ZCollectedHeap::create_heap_space_summary() { 288 return VirtualSpaceSummary((HeapWord*)0, (HeapWord*)capacity(), (HeapWord*)max_capacity()); 289 } 290 291 void ZCollectedHeap::safepoint_synchronize_begin() { 292 SuspendibleThreadSet::synchronize(); 293 } 294 295 void ZCollectedHeap::safepoint_synchronize_end() { 296 SuspendibleThreadSet::desynchronize(); 297 } 298 299 void ZCollectedHeap::prepare_for_verify() { 300 // Does nothing 301 } 302 303 void ZCollectedHeap::print_on(outputStream* st) const { 304 _heap.print_on(st); 305 } 306 307 void ZCollectedHeap::print_on_error(outputStream* st) const { 308 CollectedHeap::print_on_error(st); 309 310 st->print_cr( "Heap"); 311 st->print_cr( " GlobalPhase: %u", ZGlobalPhase); 312 st->print_cr( " GlobalSeqNum: %u", ZGlobalSeqNum); 313 st->print_cr( " Offset Max: " SIZE_FORMAT_W(-15) " (" PTR_FORMAT ")", ZAddressOffsetMax, ZAddressOffsetMax); 314 st->print_cr( " Page Size Small: " SIZE_FORMAT_W(-15) " (" PTR_FORMAT ")", ZPageSizeSmall, ZPageSizeSmall); 315 st->print_cr( " Page Size Medium: " SIZE_FORMAT_W(-15) " (" PTR_FORMAT ")", ZPageSizeMedium, ZPageSizeMedium); 316 st->print_cr( "Metadata Bits"); 317 st->print_cr( " Good: " PTR_FORMAT, ZAddressGoodMask); 318 st->print_cr( " Bad: " PTR_FORMAT, ZAddressBadMask); 319 st->print_cr( " WeakBad: " PTR_FORMAT, ZAddressWeakBadMask); 320 st->print_cr( " Marked: " PTR_FORMAT, ZAddressMetadataMarked); 321 st->print_cr( " Remapped: " PTR_FORMAT, ZAddressMetadataRemapped); 322 } 323 324 void ZCollectedHeap::print_extended_on(outputStream* st) const { 325 _heap.print_extended_on(st); 326 } 327 328 void ZCollectedHeap::print_gc_threads_on(outputStream* st) const { 329 _director->print_on(st); 330 st->cr(); 331 _driver->print_on(st); 332 st->cr(); 333 _uncommitter->print_on(st); 334 st->cr(); 335 _stat->print_on(st); 336 st->cr(); 337 _heap.print_worker_threads_on(st); 338 _runtime_workers.print_threads_on(st); 339 } 340 341 void ZCollectedHeap::print_tracing_info() const { | 287 VirtualSpaceSummary ZCollectedHeap::create_heap_space_summary() { 288 return VirtualSpaceSummary((HeapWord*)0, (HeapWord*)capacity(), (HeapWord*)max_capacity()); 289 } 290 291 void ZCollectedHeap::safepoint_synchronize_begin() { 292 SuspendibleThreadSet::synchronize(); 293 } 294 295 void ZCollectedHeap::safepoint_synchronize_end() { 296 SuspendibleThreadSet::desynchronize(); 297 } 298 299 void ZCollectedHeap::prepare_for_verify() { 300 // Does nothing 301 } 302 303 void ZCollectedHeap::print_on(outputStream* st) const { 304 _heap.print_on(st); 305 } 306 307 static const char* z_global_phase_string() { 308 switch (ZGlobalPhase) { 309 case ZPhaseMark: return "Mark"; 310 case ZPhaseMarkCompleted: return "MarkCompleted"; 311 case ZPhaseRelocate: return "Relocate"; 312 default: assert(false, "Unknown ZGlobalPhase"); return "Unknown"; 313 } 314 } 315 316 void ZCollectedHeap::print_on_error(outputStream* st) const { 317 st->print_cr( "ZGC Globals:"); 318 st->print_cr( " GlobalPhase: %u (%s)", ZGlobalPhase, z_global_phase_string()); 319 st->print_cr( " GlobalSeqNum: %u", ZGlobalSeqNum); 320 st->print_cr( " Offset Max: " SIZE_FORMAT "%s (" PTR_FORMAT ")", 321 byte_size_in_exact_unit(ZAddressOffsetMax), 322 exact_unit_for_byte_size(ZAddressOffsetMax), 323 ZAddressOffsetMax); 324 st->print_cr( " Page Size Small: " SIZE_FORMAT "M", ZPageSizeSmall / M); 325 st->print_cr( " Page Size Medium: " SIZE_FORMAT "M", ZPageSizeMedium / M); 326 st->cr(); 327 st->print_cr( "ZGC Metadata Bits:"); 328 st->print_cr( " Good: " PTR_FORMAT, ZAddressGoodMask); 329 st->print_cr( " Bad: " PTR_FORMAT, ZAddressBadMask); 330 st->print_cr( " WeakBad: " PTR_FORMAT, ZAddressWeakBadMask); 331 st->print_cr( " Marked: " PTR_FORMAT, ZAddressMetadataMarked); 332 st->print_cr( " Remapped: " PTR_FORMAT, ZAddressMetadataRemapped); 333 st->cr(); 334 CollectedHeap::print_on_error(st); 335 } 336 337 void ZCollectedHeap::print_extended_on(outputStream* st) const { 338 _heap.print_extended_on(st); 339 } 340 341 void ZCollectedHeap::print_gc_threads_on(outputStream* st) const { 342 _director->print_on(st); 343 st->cr(); 344 _driver->print_on(st); 345 st->cr(); 346 _uncommitter->print_on(st); 347 st->cr(); 348 _stat->print_on(st); 349 st->cr(); 350 _heap.print_worker_threads_on(st); 351 _runtime_workers.print_threads_on(st); 352 } 353 354 void ZCollectedHeap::print_tracing_info() const { |