< prev index next > src/hotspot/share/gc/parallel/psParallelCompact.inline.hpp
Print this page
#include "gc/parallel/parallelScavengeHeap.hpp"
#include "gc/parallel/parMarkBitMap.inline.hpp"
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/continuationGCSupport.inline.hpp"
+ #include "gc/shared/slidingForwarding.inline.hpp"
#include "oops/access.inline.hpp"
#include "oops/compressedOops.inline.hpp"
#include "oops/klass.hpp"
#include "oops/oop.inline.hpp"
assert(ParallelScavengeHeap::heap()->is_in(obj), "should be in heap");
if (!obj->is_forwarded()) {
return;
}
! oop new_obj = obj->forwardee();
assert(new_obj != nullptr, "non-null address for live objects");
assert(new_obj != obj, "inv");
assert(ParallelScavengeHeap::heap()->is_in_reserved(new_obj),
"should be in object space");
RawAccess<IS_NOT_NULL>::oop_store(p, new_obj);
assert(ParallelScavengeHeap::heap()->is_in(obj), "should be in heap");
if (!obj->is_forwarded()) {
return;
}
! oop new_obj = SlidingForwarding::forwardee(obj);
assert(new_obj != nullptr, "non-null address for live objects");
assert(new_obj != obj, "inv");
assert(ParallelScavengeHeap::heap()->is_in_reserved(new_obj),
"should be in object space");
RawAccess<IS_NOT_NULL>::oop_store(p, new_obj);
< prev index next >