< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp

Print this page
*** 30,10 ***
--- 30,11 ---
  #include "gc/shared/gcTimer.hpp"
  #include "gc/shared/gcTraceTime.inline.hpp"
  #include "gc/shared/locationPrinter.inline.hpp"
  #include "gc/shared/memAllocator.hpp"
  #include "gc/shared/plab.hpp"
+ #include "gc/shared/slidingForwarding.hpp"
  #include "gc/shared/tlab_globals.hpp"
  
  #include "gc/shenandoah/shenandoahBarrierSet.hpp"
  #include "gc/shenandoah/shenandoahClosures.inline.hpp"
  #include "gc/shenandoah/shenandoahCollectionSet.hpp"

*** 189,10 ***
--- 190,12 ---
    _heap_region_special = heap_rs.special();
  
    assert((((size_t) base()) & ShenandoahHeapRegion::region_size_bytes_mask()) == 0,
           "Misaligned heap: " PTR_FORMAT, p2i(base()));
  
+   _forwarding = new SlidingForwarding(_heap_region, ShenandoahHeapRegion::region_size_words_shift());
+ 
  #if SHENANDOAH_OPTIMIZED_MARKTASK
    // The optimized ShenandoahMarkTask takes some bits away from the full object bits.
    // Fail if we ever attempt to address more than we can.
    if ((uintptr_t)heap_rs.end() >= ShenandoahMarkTask::max_addressable()) {
      FormatBuffer<512> buf("Shenandoah reserved [" PTR_FORMAT ", " PTR_FORMAT") for the heap, \n"
< prev index next >