< prev index next >

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

Print this page
*** 22,11 ***
   *
   */
  
  
  #include "gc/shenandoah/shenandoahAsserts.hpp"
! #include "gc/shenandoah/shenandoahForwarding.hpp"
  #include "gc/shenandoah/shenandoahHeap.inline.hpp"
  #include "gc/shenandoah/shenandoahHeapRegionSet.inline.hpp"
  #include "gc/shenandoah/shenandoahMarkingContext.inline.hpp"
  #include "gc/shenandoah/shenandoahUtils.hpp"
  #include "memory/resourceArea.hpp"
--- 22,11 ---
   *
   */
  
  
  #include "gc/shenandoah/shenandoahAsserts.hpp"
! #include "gc/shenandoah/shenandoahForwarding.inline.hpp"
  #include "gc/shenandoah/shenandoahHeap.inline.hpp"
  #include "gc/shenandoah/shenandoahHeapRegionSet.inline.hpp"
  #include "gc/shenandoah/shenandoahMarkingContext.inline.hpp"
  #include "gc/shenandoah/shenandoahUtils.hpp"
  #include "memory/resourceArea.hpp"

*** 560,11 ***
      return false;
    }
  
    if (UseCompactObjectHeaders) { // look in forwardee
      markWord mark = obj->mark();
!     if (mark.is_marked()) {
        oop fwd = cast_to_oop(mark.clear_lock_bits().to_pointer());
        if (!os::is_readable_pointer(fwd)) {
          return false;
        }
        mark = fwd->mark();
--- 560,11 ---
      return false;
    }
  
    if (UseCompactObjectHeaders) { // look in forwardee
      markWord mark = obj->mark();
!     if (ShenandoahForwarding::has_forwardee(mark)) {
        oop fwd = cast_to_oop(mark.clear_lock_bits().to_pointer());
        if (!os::is_readable_pointer(fwd)) {
          return false;
        }
        mark = fwd->mark();
< prev index next >