< prev index next >

src/hotspot/share/gc/shared/preservedMarks.cpp

Print this page
*** 22,10 ***
--- 22,11 ---
   *
   */
  
  #include "precompiled.hpp"
  #include "gc/shared/preservedMarks.inline.hpp"
+ #include "gc/shared/slidingForwarding.inline.hpp"
  #include "gc/shared/workerThread.hpp"
  #include "gc/shared/workerUtils.hpp"
  #include "memory/allocation.inline.hpp"
  #include "memory/resourceArea.hpp"
  #include "oops/oop.inline.hpp"

*** 40,12 ***
    assert_empty();
  }
  
  void PreservedMarks::adjust_preserved_mark(PreservedMark* elem) {
    oop obj = elem->get_oop();
!   if (obj->is_forwarded()) {
!     elem->set_oop(obj->forwardee());
    }
  }
  
  void PreservedMarks::adjust_during_full_gc() {
    StackIterator<PreservedMark, mtGC> iter(_stack);
--- 41,12 ---
    assert_empty();
  }
  
  void PreservedMarks::adjust_preserved_mark(PreservedMark* elem) {
    oop obj = elem->get_oop();
!   if (SlidingForwarding::is_forwarded(obj)) {
!     elem->set_oop(SlidingForwarding::forwardee(obj));
    }
  }
  
  void PreservedMarks::adjust_during_full_gc() {
    StackIterator<PreservedMark, mtGC> iter(_stack);
< prev index next >