< prev index next >

src/hotspot/share/gc/g1/g1FullCollector.cpp

Print this page
@@ -38,10 +38,11 @@
  #include "gc/g1/g1RegionMarkStatsCache.inline.hpp"
  #include "gc/shared/gcTraceTime.inline.hpp"
  #include "gc/shared/preservedMarks.inline.hpp"
  #include "gc/shared/classUnloadingContext.hpp"
  #include "gc/shared/referenceProcessor.hpp"
+ #include "gc/shared/slidingForwarding.hpp"
  #include "gc/shared/verifyOption.hpp"
  #include "gc/shared/weakProcessor.inline.hpp"
  #include "gc/shared/workerPolicy.hpp"
  #include "logging/log.hpp"
  #include "runtime/handles.inline.hpp"

@@ -210,10 +211,12 @@
    verify_after_marking();
  
    // Don't add any more derived pointers during later phases
    deactivate_derived_pointers();
  
+   SlidingForwarding::begin();
+ 
    phase2_prepare_compaction();
  
    if (has_compaction_targets()) {
      phase3_adjust_pointers();
  

@@ -222,10 +225,12 @@
      // All regions have a high live ratio thus will not be compacted.
      // The live ratio is only considered if do_maximal_compaction is false.
      log_info(gc, phases) ("No Regions selected for compaction. Skipping Phase 3: Adjust pointers and Phase 4: Compact heap");
    }
  
+   SlidingForwarding::end();
+ 
    phase5_reset_metadata();
  
    G1CollectedHeap::finish_codecache_marking_cycle();
  }
  
< prev index next >