479 PSScavenge::set_young_generation_boundary(eden_space()->bottom());
480
481 assert(from_space()->top() == old_from_top, "from top changed!");
482
483 log_trace(gc, ergo)("AdaptiveSizePolicy::survivor space sizes: "
484 "collection: %d "
485 "(" SIZE_FORMAT ", " SIZE_FORMAT ") -> "
486 "(" SIZE_FORMAT ", " SIZE_FORMAT ") ",
487 ParallelScavengeHeap::heap()->total_collections(),
488 old_from, old_to,
489 from_space()->capacity_in_bytes(),
490 to_space()->capacity_in_bytes());
491
492 space_invariants();
493 }
494 void ASPSYoungGen::reset_after_change() {
495 assert_locked_or_safepoint(Heap_lock);
496
497 _reserved = MemRegion((HeapWord*)virtual_space()->low_boundary(),
498 (HeapWord*)virtual_space()->high_boundary());
499 PSScavenge::reference_processor()->set_span(_reserved);
500
501 HeapWord* new_eden_bottom = (HeapWord*)virtual_space()->low();
502 HeapWord* eden_bottom = eden_space()->bottom();
503 if (new_eden_bottom != eden_bottom) {
504 MemRegion eden_mr(new_eden_bottom, eden_space()->end());
505 eden_space()->initialize(eden_mr,
506 SpaceDecorator::Clear,
507 SpaceDecorator::Mangle);
508 PSScavenge::set_young_generation_boundary(eden_space()->bottom());
509 }
510 MemRegion cmr((HeapWord*)virtual_space()->low(),
511 (HeapWord*)virtual_space()->high());
512 ParallelScavengeHeap::heap()->barrier_set()->card_table()->resize_covered_region(cmr);
513
514 space_invariants();
515 }
|
479 PSScavenge::set_young_generation_boundary(eden_space()->bottom());
480
481 assert(from_space()->top() == old_from_top, "from top changed!");
482
483 log_trace(gc, ergo)("AdaptiveSizePolicy::survivor space sizes: "
484 "collection: %d "
485 "(" SIZE_FORMAT ", " SIZE_FORMAT ") -> "
486 "(" SIZE_FORMAT ", " SIZE_FORMAT ") ",
487 ParallelScavengeHeap::heap()->total_collections(),
488 old_from, old_to,
489 from_space()->capacity_in_bytes(),
490 to_space()->capacity_in_bytes());
491
492 space_invariants();
493 }
494 void ASPSYoungGen::reset_after_change() {
495 assert_locked_or_safepoint(Heap_lock);
496
497 _reserved = MemRegion((HeapWord*)virtual_space()->low_boundary(),
498 (HeapWord*)virtual_space()->high_boundary());
499 PSScavenge::set_subject_to_discovery_span(_reserved);
500
501 HeapWord* new_eden_bottom = (HeapWord*)virtual_space()->low();
502 HeapWord* eden_bottom = eden_space()->bottom();
503 if (new_eden_bottom != eden_bottom) {
504 MemRegion eden_mr(new_eden_bottom, eden_space()->end());
505 eden_space()->initialize(eden_mr,
506 SpaceDecorator::Clear,
507 SpaceDecorator::Mangle);
508 PSScavenge::set_young_generation_boundary(eden_space()->bottom());
509 }
510 MemRegion cmr((HeapWord*)virtual_space()->low(),
511 (HeapWord*)virtual_space()->high());
512 ParallelScavengeHeap::heap()->barrier_set()->card_table()->resize_covered_region(cmr);
513
514 space_invariants();
515 }
|