< prev index next >

src/hotspot/share/gc/parallel/psParallelCompact.cpp

8211446_01: revision due to comments from StefanJ and Thomas

*** 844,858 **** PSParallelCompact::IsAliveClosure PSParallelCompact::_is_alive_closure; bool PSParallelCompact::IsAliveClosure::do_object_b(oop p) { return mark_bitmap()->is_marked(p); } ! class PSReferenceProcessor: public ReferenceProcessor { public: ! PSReferenceProcessor( BoolObjectClosure* is_subject_to_discovery, ! BoolObjectClosure* is_alive_non_header = NULL) : ReferenceProcessor(is_subject_to_discovery, ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing ParallelGCThreads, // mt processing degree true, // mt discovery ParallelGCThreads, // mt discovery degree --- 844,858 ---- PSParallelCompact::IsAliveClosure PSParallelCompact::_is_alive_closure; bool PSParallelCompact::IsAliveClosure::do_object_b(oop p) { return mark_bitmap()->is_marked(p); } ! class PCReferenceProcessor: public ReferenceProcessor { public: ! PCReferenceProcessor( BoolObjectClosure* is_subject_to_discovery, ! BoolObjectClosure* is_alive_non_header) : ReferenceProcessor(is_subject_to_discovery, ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing ParallelGCThreads, // mt processing degree true, // mt discovery ParallelGCThreads, // mt discovery degree ***************
*** 878,888 **** void PSParallelCompact::post_initialize() { ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); _span_based_discoverer.set_span(heap->reserved_region()); _ref_processor = ! new PSReferenceProcessor(&_span_based_discoverer, &_is_alive_closure); // non-header is alive closure _counters = new CollectorCounters("PSParallelCompact", 1); // Initialize static fields in ParCompactionManager. --- 878,888 ---- void PSParallelCompact::post_initialize() { ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); _span_based_discoverer.set_span(heap->reserved_region()); _ref_processor = ! new PCReferenceProcessor(&_span_based_discoverer, &_is_alive_closure); // non-header is alive closure _counters = new CollectorCounters("PSParallelCompact", 1); // Initialize static fields in ParCompactionManager. ***************
*** 2100,2110 **** uint parallel_gc_threads = heap->gc_task_manager()->workers(); uint active_gc_threads = heap->gc_task_manager()->active_workers(); TaskQueueSetSuper* qset = ParCompactionManager::stack_array(); ParallelTaskTerminator terminator(active_gc_threads, qset); ! PSMarkAndPushClosure mark_and_push_closure(cm); ParCompactionManager::FollowStackClosure follow_stack_closure(cm); // Need new claim bits before marking starts. ClassLoaderDataGraph::clear_claimed_marks(); --- 2100,2110 ---- uint parallel_gc_threads = heap->gc_task_manager()->workers(); uint active_gc_threads = heap->gc_task_manager()->active_workers(); TaskQueueSetSuper* qset = ParCompactionManager::stack_array(); ParallelTaskTerminator terminator(active_gc_threads, qset); ! PCMarkAndPushClosure mark_and_push_closure(cm); ParCompactionManager::FollowStackClosure follow_stack_closure(cm); // Need new claim bits before marking starts. ClassLoaderDataGraph::clear_claimed_marks();
< prev index next >