< prev index next >
src/share/vm/oops/oop.pcgc.inline.hpp
Print this page
@@ -52,30 +52,6 @@
assert (PSParallelCompact::mark_bitmap()->is_marked(this),
"should be marked");
klass()->oop_follow_contents(cm, this);
}
-inline oop oopDesc::forward_to_atomic(oop p) {
- assert(ParNewGeneration::is_legal_forward_ptr(p),
- "illegal forwarding pointer value.");
- markOop oldMark = mark();
- markOop forwardPtrMark = markOopDesc::encode_pointer_as_mark(p);
- markOop curMark;
-
- assert(forwardPtrMark->decode_pointer() == p, "encoding must be reversable");
- assert(sizeof(markOop) == sizeof(intptr_t), "CAS below requires this.");
-
- while (!oldMark->is_marked()) {
- curMark = (markOop)Atomic::cmpxchg_ptr(forwardPtrMark, &_mark, oldMark);
- assert(is_forwarded(), "object should have been forwarded");
- if (curMark == oldMark) {
- return NULL;
- }
- // If the CAS was unsuccessful then curMark->is_marked()
- // should return true as another thread has CAS'd in another
- // forwarding pointer.
- oldMark = curMark;
- }
- return forwardee();
-}
-
#endif // SHARE_VM_OOPS_OOP_PCGC_INLINE_HPP
< prev index next >