854 bool PSParallelCompact::IsAliveClosure::do_object_b(oop p) { return mark_bitmap()->is_marked(p); } 855 856 void PSParallelCompact::AdjustKlassClosure::do_klass(Klass* klass) { 857 PSParallelCompact::AdjustPointerClosure closure(_cm); 858 klass->oops_do(&closure); 859 } 860 861 void PSParallelCompact::post_initialize() { 862 ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); 863 MemRegion mr = heap->reserved_region(); 864 _ref_processor = 865 new ReferenceProcessor(mr, // span 866 ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing 867 ParallelGCThreads, // mt processing degree 868 true, // mt discovery 869 ParallelGCThreads, // mt discovery degree 870 true, // atomic_discovery 871 &_is_alive_closure); // non-header is alive closure 872 _counters = new CollectorCounters("PSParallelCompact", 1); 873 874 // Initialize static fields in ParCompactionManager. 875 ParCompactionManager::initialize(mark_bitmap()); 876 } 877 878 bool PSParallelCompact::initialize() { 879 ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); 880 MemRegion mr = heap->reserved_region(); 881 882 // Was the old gen get allocated successfully? 883 if (!heap->old_gen()->is_allocated()) { 884 return false; 885 } 886 887 initialize_space_info(); 888 initialize_dead_wood_limiter(); 889 890 if (!_mark_bitmap.initialize(mr)) { 891 vm_shutdown_during_initialization( 892 err_msg("Unable to allocate " SIZE_FORMAT "KB bitmaps for parallel " 893 "garbage collection for the requested " SIZE_FORMAT "KB heap.", | 854 bool PSParallelCompact::IsAliveClosure::do_object_b(oop p) { return mark_bitmap()->is_marked(p); } 855 856 void PSParallelCompact::AdjustKlassClosure::do_klass(Klass* klass) { 857 PSParallelCompact::AdjustPointerClosure closure(_cm); 858 klass->oops_do(&closure); 859 } 860 861 void PSParallelCompact::post_initialize() { 862 ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); 863 MemRegion mr = heap->reserved_region(); 864 _ref_processor = 865 new ReferenceProcessor(mr, // span 866 ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing 867 ParallelGCThreads, // mt processing degree 868 true, // mt discovery 869 ParallelGCThreads, // mt discovery degree 870 true, // atomic_discovery 871 &_is_alive_closure); // non-header is alive closure 872 _counters = new CollectorCounters("PSParallelCompact", 1); 873 874 // Dummy counter 875 new CollectorCounters("dummy", 2); 876 877 // Initialize static fields in ParCompactionManager. 878 ParCompactionManager::initialize(mark_bitmap()); 879 } 880 881 bool PSParallelCompact::initialize() { 882 ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); 883 MemRegion mr = heap->reserved_region(); 884 885 // Was the old gen get allocated successfully? 886 if (!heap->old_gen()->is_allocated()) { 887 return false; 888 } 889 890 initialize_space_info(); 891 initialize_dead_wood_limiter(); 892 893 if (!_mark_bitmap.initialize(mr)) { 894 vm_shutdown_during_initialization( 895 err_msg("Unable to allocate " SIZE_FORMAT "KB bitmaps for parallel " 896 "garbage collection for the requested " SIZE_FORMAT "KB heap.", |