< prev index next >

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

Print this page
*** 28,10 ***
--- 28,11 ---
  #include "gc/g1/g1FullCollector.inline.hpp"
  #include "gc/g1/g1FullGCCompactionPoint.hpp"
  #include "gc/g1/g1FullGCCompactTask.hpp"
  #include "gc/g1/heapRegion.inline.hpp"
  #include "gc/shared/gcTraceTime.inline.hpp"
+ #include "gc/shared/slidingForwarding.inline.hpp"
  #include "logging/log.hpp"
  #include "oops/oop.inline.hpp"
  #include "utilities/ticks.hpp"
  
  void G1FullGCCompactTask::G1CompactRegionClosure::clear_in_bitmap(oop obj) {

*** 40,11 ***
  }
  
  size_t G1FullGCCompactTask::G1CompactRegionClosure::apply(oop obj) {
    size_t size = obj->size();
    if (obj->is_forwarded()) {
!     HeapWord* destination = cast_from_oop<HeapWord*>(obj->forwardee());
  
      // copy object and reinit its mark
      HeapWord* obj_addr = cast_from_oop<HeapWord*>(obj);
      assert(obj_addr != destination, "everything in this pass should be moving");
      Copy::aligned_conjoint_words(obj_addr, destination, size);
--- 41,11 ---
  }
  
  size_t G1FullGCCompactTask::G1CompactRegionClosure::apply(oop obj) {
    size_t size = obj->size();
    if (obj->is_forwarded()) {
!     HeapWord* destination = cast_from_oop<HeapWord*>(_forwarding->forwardee(obj));
  
      // copy object and reinit its mark
      HeapWord* obj_addr = cast_from_oop<HeapWord*>(obj);
      assert(obj_addr != destination, "everything in this pass should be moving");
      Copy::aligned_conjoint_words(obj_addr, destination, size);
< prev index next >