< prev index next >
src/hotspot/share/oops/oop.inline.hpp
Print this page
rev 52211 : imported patch 8212753-improve-forward-to-atomic
rev 52212 : [mq]: 8212753-kbarrett-review
@@ -369,10 +369,12 @@
assert(m->decode_pointer() == p, "encoding must be reversable");
return cas_set_mark_raw(m, compare, order) == compare;
}
oop oopDesc::forward_to_atomic(oop p, markOop compare, atomic_memory_order order) {
+ // CMS forwards some non-heap value into the mark oop to reserve oops during
+ // promotion, so the next two asserts do not hold.
assert(UseConcMarkSweepGC || check_obj_alignment(p),
"forwarding to something not aligned");
assert(UseConcMarkSweepGC || Universe::heap()->is_in_reserved(p),
"forwarding to something not in heap");
markOop m = markOopDesc::encode_pointer_as_mark(p);
< prev index next >