src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
changeset 58686 0279391875bf
parent 58676 92e7d617897e
child 58711 765ecbffe88a
equal deleted inserted replaced
58685:4b13a908c2d0 58686:0279391875bf
  2040                                                ShenandoahPhaseTimings::full_gc_purge_par :
  2040                                                ShenandoahPhaseTimings::full_gc_purge_par :
  2041                                                ShenandoahPhaseTimings::purge_par;
  2041                                                ShenandoahPhaseTimings::purge_par;
  2042   // Cleanup weak roots
  2042   // Cleanup weak roots
  2043   ShenandoahGCPhase phase(timing_phase);
  2043   ShenandoahGCPhase phase(timing_phase);
  2044   if (has_forwarded_objects()) {
  2044   if (has_forwarded_objects()) {
  2045     ShenandoahForwardedIsAliveClosure is_alive;
  2045     if (is_traversal_mode()) {
  2046     ShenandoahUpdateRefsClosure keep_alive;
  2046       ShenandoahForwardedIsAliveClosure is_alive;
  2047     ShenandoahParallelWeakRootsCleaningTask<ShenandoahForwardedIsAliveClosure, ShenandoahUpdateRefsClosure>
  2047       ShenandoahTraversalUpdateRefsClosure keep_alive;
  2048       cleaning_task(&is_alive, &keep_alive, num_workers);
  2048       ShenandoahParallelWeakRootsCleaningTask<ShenandoahForwardedIsAliveClosure, ShenandoahTraversalUpdateRefsClosure>
  2049     _workers->run_task(&cleaning_task);
  2049         cleaning_task(&is_alive, &keep_alive, num_workers);
       
  2050       _workers->run_task(&cleaning_task);
       
  2051     } else {
       
  2052       ShenandoahForwardedIsAliveClosure is_alive;
       
  2053       ShenandoahUpdateRefsClosure keep_alive;
       
  2054       ShenandoahParallelWeakRootsCleaningTask<ShenandoahForwardedIsAliveClosure, ShenandoahUpdateRefsClosure>
       
  2055         cleaning_task(&is_alive, &keep_alive, num_workers);
       
  2056       _workers->run_task(&cleaning_task);
       
  2057     }
  2050   } else {
  2058   } else {
  2051     ShenandoahIsAliveClosure is_alive;
  2059     ShenandoahIsAliveClosure is_alive;
  2052 #ifdef ASSERT
  2060 #ifdef ASSERT
  2053   ShenandoahAssertNotForwardedClosure verify_cl;
  2061   ShenandoahAssertNotForwardedClosure verify_cl;
  2054   ShenandoahParallelWeakRootsCleaningTask<ShenandoahIsAliveClosure, ShenandoahAssertNotForwardedClosure>
  2062   ShenandoahParallelWeakRootsCleaningTask<ShenandoahIsAliveClosure, ShenandoahAssertNotForwardedClosure>