< prev index next >
src/hotspot/share/oops/oop.inline.hpp
Print this page
*** 346,356 ****
markOop m = markOopDesc::encode_pointer_as_mark(p);
assert(m->decode_pointer() == p, "encoding must be reversable");
return cas_set_mark_raw(m, compare) == compare;
}
- #if INCLUDE_ALL_GCS
oop oopDesc::forward_to_atomic(oop p) {
markOop oldMark = mark_raw();
markOop forwardPtrMark = markOopDesc::encode_pointer_as_mark(p);
markOop curMark;
--- 346,355 ----
*** 368,378 ****
// forwarding pointer.
oldMark = curMark;
}
return forwardee();
}
- #endif
// Note that the forwardee is not the same thing as the displaced_mark.
// The forwardee is used when copying during scavenge and mark-sweep.
// It does need to clear the low two locking- and GC-related bits.
oop oopDesc::forwardee() const {
--- 367,376 ----
*** 396,406 ****
} else {
set_mark_raw(mark_raw()->incr_age());
}
}
! #if INCLUDE_ALL_GCS
void oopDesc::pc_follow_contents(ParCompactionManager* cm) {
klass()->oop_pc_follow_contents(this, cm);
}
void oopDesc::pc_update_contents(ParCompactionManager* cm) {
--- 394,404 ----
} else {
set_mark_raw(mark_raw()->incr_age());
}
}
! #if INCLUDE_PARALLELGC
void oopDesc::pc_follow_contents(ParCompactionManager* cm) {
klass()->oop_pc_follow_contents(this, cm);
}
void oopDesc::pc_update_contents(ParCompactionManager* cm) {
*** 418,428 ****
// It might contain oops beyond the header, so take the virtual call.
k->oop_ps_push_contents(this, pm);
}
// Else skip it. The TypeArrayKlass in the header never needs scavenging.
}
! #endif // INCLUDE_ALL_GCS
#define OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \
\
void oopDesc::oop_iterate(OopClosureType* blk) { \
klass()->oop_oop_iterate##nv_suffix(this, blk); \
--- 416,426 ----
// It might contain oops beyond the header, so take the virtual call.
k->oop_ps_push_contents(this, pm);
}
// Else skip it. The TypeArrayKlass in the header never needs scavenging.
}
! #endif // INCLUDE_PARALLELGC
#define OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \
\
void oopDesc::oop_iterate(OopClosureType* blk) { \
klass()->oop_oop_iterate##nv_suffix(this, blk); \
*** 458,476 ****
int oopDesc::oop_iterate_no_header(OopClosure* blk, MemRegion mr) {
NoHeaderExtendedOopClosure cl(blk);
return oop_iterate_size(&cl, mr);
}
! #if INCLUDE_ALL_GCS
#define OOP_ITERATE_BACKWARDS_DEFN(OopClosureType, nv_suffix) \
\
inline void oopDesc::oop_iterate_backwards(OopClosureType* blk) { \
klass()->oop_oop_iterate_backwards##nv_suffix(this, blk); \
}
#else
#define OOP_ITERATE_BACKWARDS_DEFN(OopClosureType, nv_suffix)
! #endif // INCLUDE_ALL_GCS
#define ALL_OOPDESC_OOP_ITERATE(OopClosureType, nv_suffix) \
OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \
OOP_ITERATE_SIZE_DEFN(OopClosureType, nv_suffix) \
OOP_ITERATE_BACKWARDS_DEFN(OopClosureType, nv_suffix)
--- 456,474 ----
int oopDesc::oop_iterate_no_header(OopClosure* blk, MemRegion mr) {
NoHeaderExtendedOopClosure cl(blk);
return oop_iterate_size(&cl, mr);
}
! #if INCLUDE_OOP_OOP_ITERATE_BACKWARDS
#define OOP_ITERATE_BACKWARDS_DEFN(OopClosureType, nv_suffix) \
\
inline void oopDesc::oop_iterate_backwards(OopClosureType* blk) { \
klass()->oop_oop_iterate_backwards##nv_suffix(this, blk); \
}
#else
#define OOP_ITERATE_BACKWARDS_DEFN(OopClosureType, nv_suffix)
! #endif
#define ALL_OOPDESC_OOP_ITERATE(OopClosureType, nv_suffix) \
OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \
OOP_ITERATE_SIZE_DEFN(OopClosureType, nv_suffix) \
OOP_ITERATE_BACKWARDS_DEFN(OopClosureType, nv_suffix)
< prev index next >