hotspot/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp
changeset 30556 750fee2bdb45
parent 30173 13cf7580b000
equal deleted inserted replaced
30555:3b3701596be8 30556:750fee2bdb45
    55   NOT_PRODUCT(GCTraceTime tm("ThreadRootsMarkingTask",
    55   NOT_PRODUCT(GCTraceTime tm("ThreadRootsMarkingTask",
    56     PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id()));
    56     PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id()));
    57   ParCompactionManager* cm =
    57   ParCompactionManager* cm =
    58     ParCompactionManager::gc_thread_compaction_manager(which);
    58     ParCompactionManager::gc_thread_compaction_manager(which);
    59 
    59 
    60   PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm);
    60   ParCompactionManager::MarkAndPushClosure mark_and_push_closure(cm);
    61   CLDToOopClosure mark_and_push_from_clds(&mark_and_push_closure, true);
    61   CLDToOopClosure mark_and_push_from_clds(&mark_and_push_closure, true);
    62   MarkingCodeBlobClosure mark_and_push_in_blobs(&mark_and_push_closure, !CodeBlobToOopClosure::FixRelocations);
    62   MarkingCodeBlobClosure mark_and_push_in_blobs(&mark_and_push_closure, !CodeBlobToOopClosure::FixRelocations);
    63 
    63 
    64   if (_java_thread != NULL)
    64   if (_java_thread != NULL)
    65     _java_thread->oops_do(
    65     _java_thread->oops_do(
    83 
    83 
    84   NOT_PRODUCT(GCTraceTime tm("MarkFromRootsTask",
    84   NOT_PRODUCT(GCTraceTime tm("MarkFromRootsTask",
    85     PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id()));
    85     PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id()));
    86   ParCompactionManager* cm =
    86   ParCompactionManager* cm =
    87     ParCompactionManager::gc_thread_compaction_manager(which);
    87     ParCompactionManager::gc_thread_compaction_manager(which);
    88   PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm);
    88   ParCompactionManager::MarkAndPushClosure mark_and_push_closure(cm);
    89   PSParallelCompact::FollowKlassClosure follow_klass_closure(&mark_and_push_closure);
    89   ParCompactionManager::FollowKlassClosure follow_klass_closure(&mark_and_push_closure);
    90 
    90 
    91   switch (_root_type) {
    91   switch (_root_type) {
    92     case universe:
    92     case universe:
    93       Universe::oops_do(&mark_and_push_closure);
    93       Universe::oops_do(&mark_and_push_closure);
    94       break;
    94       break;
   154 
   154 
   155   NOT_PRODUCT(GCTraceTime tm("RefProcTask",
   155   NOT_PRODUCT(GCTraceTime tm("RefProcTask",
   156     PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id()));
   156     PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id()));
   157   ParCompactionManager* cm =
   157   ParCompactionManager* cm =
   158     ParCompactionManager::gc_thread_compaction_manager(which);
   158     ParCompactionManager::gc_thread_compaction_manager(which);
   159   PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm);
   159   ParCompactionManager::MarkAndPushClosure mark_and_push_closure(cm);
   160   PSParallelCompact::FollowStackClosure follow_stack_closure(cm);
   160   ParCompactionManager::FollowStackClosure follow_stack_closure(cm);
   161   _rp_task.work(_work_id, *PSParallelCompact::is_alive_closure(),
   161   _rp_task.work(_work_id, *PSParallelCompact::is_alive_closure(),
   162                 mark_and_push_closure, follow_stack_closure);
   162                 mark_and_push_closure, follow_stack_closure);
   163 }
   163 }
   164 
   164 
   165 //
   165 //
   211   NOT_PRODUCT(GCTraceTime tm("StealMarkingTask",
   211   NOT_PRODUCT(GCTraceTime tm("StealMarkingTask",
   212     PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id()));
   212     PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id()));
   213 
   213 
   214   ParCompactionManager* cm =
   214   ParCompactionManager* cm =
   215     ParCompactionManager::gc_thread_compaction_manager(which);
   215     ParCompactionManager::gc_thread_compaction_manager(which);
   216   PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm);
   216   ParCompactionManager::MarkAndPushClosure mark_and_push_closure(cm);
   217 
   217 
   218   oop obj = NULL;
   218   oop obj = NULL;
   219   ObjArrayTask task;
   219   ObjArrayTask task;
   220   int random_seed = 17;
   220   int random_seed = 17;
   221   do {
   221   do {