< prev index next >

src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp

Print this page

        

*** 820,834 **** bool PSParallelCompact::IsAliveClosure::do_object_b(oop p) { return mark_bitmap()->is_marked(p); } PSParallelCompact::AdjustPointerClosure PSParallelCompact::_adjust_pointer_closure; PSParallelCompact::AdjustKlassClosure PSParallelCompact::_adjust_klass_closure; - void PSParallelCompact::FollowStackClosure::do_void() { _compaction_manager->follow_marking_stacks(); } - - void PSParallelCompact::FollowKlassClosure::do_klass(Klass* klass) { - klass->oops_do(_mark_and_push_closure); - } void PSParallelCompact::AdjustKlassClosure::do_klass(Klass* klass) { klass->oops_do(&PSParallelCompact::_adjust_pointer_closure); } void PSParallelCompact::post_initialize() { --- 820,829 ----
*** 2344,2355 **** uint parallel_gc_threads = heap->gc_task_manager()->workers(); uint active_gc_threads = heap->gc_task_manager()->active_workers(); TaskQueueSetSuper* qset = ParCompactionManager::region_array(); ParallelTaskTerminator terminator(active_gc_threads, qset); ! PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm); ! PSParallelCompact::FollowStackClosure follow_stack_closure(cm); // Need new claim bits before marking starts. ClassLoaderDataGraph::clear_claimed_marks(); { --- 2339,2350 ---- uint parallel_gc_threads = heap->gc_task_manager()->workers(); uint active_gc_threads = heap->gc_task_manager()->active_workers(); TaskQueueSetSuper* qset = ParCompactionManager::region_array(); ParallelTaskTerminator terminator(active_gc_threads, qset); ! ParCompactionManager::MarkAndPushClosure mark_and_push_closure(cm); ! ParCompactionManager::FollowStackClosure follow_stack_closure(cm); // Need new claim bits before marking starts. ClassLoaderDataGraph::clear_claimed_marks(); {
*** 2419,2436 **** // Clean up unreferenced symbols in symbol table. SymbolTable::unlink(); _gc_tracer.report_object_count_after_gc(is_alive_closure()); } - void PSParallelCompact::follow_class_loader(ParCompactionManager* cm, - ClassLoaderData* cld) { - PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm); - PSParallelCompact::FollowKlassClosure follow_klass_closure(&mark_and_push_closure); - - cld->oops_do(&mark_and_push_closure, &follow_klass_closure, true); - } - // This should be moved to the shared markSweep code! class PSAlwaysTrueClosure: public BoolObjectClosure { public: bool do_object_b(oop p) { return true; } }; --- 2414,2423 ----
< prev index next >