< prev index next >

src/hotspot/share/gc/serial/markSweep.inline.hpp

Print this page
*** 88,12 ***
      oop obj = CompressedOops::decode_not_null(heap_oop);
      assert(Universe::heap()->is_in(obj), "should be in heap");
  
      oop new_obj = cast_to_oop(obj->mark().decode_pointer());
  
!     assert(new_obj != NULL ||                      // is forwarding ptr?
!            obj->mark() == markWord::prototype(), // not gc marked?
             "should be forwarded");
  
      if (new_obj != NULL) {
        assert(is_object_aligned(new_obj), "oop must be aligned");
        RawAccess<IS_NOT_NULL>::oop_store(p, new_obj);
--- 88,12 ---
      oop obj = CompressedOops::decode_not_null(heap_oop);
      assert(Universe::heap()->is_in(obj), "should be in heap");
  
      oop new_obj = cast_to_oop(obj->mark().decode_pointer());
  
!     assert(new_obj != NULL ||                                 // is forwarding ptr?
!            obj->mark() == obj->klass()->prototype_header(),   // not gc marked?
             "should be forwarded");
  
      if (new_obj != NULL) {
        assert(is_object_aligned(new_obj), "oop must be aligned");
        RawAccess<IS_NOT_NULL>::oop_store(p, new_obj);
< prev index next >