491 space_invariants();
492 }
493 void ASPSYoungGen::reset_after_change() {
494 assert_locked_or_safepoint(Heap_lock);
495
496 _reserved = MemRegion((HeapWord*)virtual_space()->low_boundary(),
497 (HeapWord*)virtual_space()->high_boundary());
498 PSScavenge::reference_processor()->set_span(_reserved);
499
500 HeapWord* new_eden_bottom = (HeapWord*)virtual_space()->low();
501 HeapWord* eden_bottom = eden_space()->bottom();
502 if (new_eden_bottom != eden_bottom) {
503 MemRegion eden_mr(new_eden_bottom, eden_space()->end());
504 eden_space()->initialize(eden_mr,
505 SpaceDecorator::Clear,
506 SpaceDecorator::Mangle);
507 PSScavenge::set_young_generation_boundary(eden_space()->bottom());
508 }
509 MemRegion cmr((HeapWord*)virtual_space()->low(),
510 (HeapWord*)virtual_space()->high());
511 ParallelScavengeHeap::heap()->barrier_set()->resize_covered_region(cmr);
512
513 space_invariants();
514 }
|
491 space_invariants();
492 }
493 void ASPSYoungGen::reset_after_change() {
494 assert_locked_or_safepoint(Heap_lock);
495
496 _reserved = MemRegion((HeapWord*)virtual_space()->low_boundary(),
497 (HeapWord*)virtual_space()->high_boundary());
498 PSScavenge::reference_processor()->set_span(_reserved);
499
500 HeapWord* new_eden_bottom = (HeapWord*)virtual_space()->low();
501 HeapWord* eden_bottom = eden_space()->bottom();
502 if (new_eden_bottom != eden_bottom) {
503 MemRegion eden_mr(new_eden_bottom, eden_space()->end());
504 eden_space()->initialize(eden_mr,
505 SpaceDecorator::Clear,
506 SpaceDecorator::Mangle);
507 PSScavenge::set_young_generation_boundary(eden_space()->bottom());
508 }
509 MemRegion cmr((HeapWord*)virtual_space()->low(),
510 (HeapWord*)virtual_space()->high());
511 ParallelScavengeHeap::heap()->barrier_set()->card_table()->resize_covered_region(cmr);
512
513 space_invariants();
514 }
|