inline void oopDesc::oop_iterate_header(OopClosure* blk, MemRegion mr) { if (UseCompressedOops) { if (mr.contains(compressed_klass_addr())) { blk->do_oop(compressed_klass_addr()); } } else { if (mr.contains(klass_addr())) blk->do_oop(klass_addr()); } }
inline void oopDesc::adjust_header() { if (UseCompressedOops) { MarkSweep::adjust_pointer(compressed_klass_addr()); } else { MarkSweep::adjust_pointer(klass_addr()); } }
inline void oopDesc::oop_iterate_header(OopClosure* blk) { if (UseCompressedOops) { blk->do_oop(compressed_klass_addr()); } else { blk->do_oop(klass_addr()); } }
inline void oopDesc::follow_header() { if (UseCompressedOops) { MarkSweep::mark_and_push(compressed_klass_addr()); } else { MarkSweep::mark_and_push(klass_addr()); } }
void oopDesc::set_klass(Klass* k) { // since klasses are promoted no store check is needed assert(Universe::is_bootstrapping() || k != NULL, "must be a real Klass*"); assert(Universe::is_bootstrapping() || k->is_klass(), "not a Klass*"); if (UseCompressedClassPointers) { *compressed_klass_addr() = Klass::encode_klass_not_null(k); } else { *klass_addr() = k; } }
inline void oopDesc::set_klass(klassOop k) { // since klasses are promoted no store check is needed assert(Universe::is_bootstrapping() || k != NULL, "must be a real klassOop"); assert(Universe::is_bootstrapping() || k->is_klass(), "not a klassOop"); if (UseCompressedOops) { oop_store_without_check(compressed_klass_addr(), (oop)k); } else { oop_store_without_check(klass_addr(), (oop) k); } }
void PlaceholderEntry::oops_do(OopClosure* blk) { assert(klass() != NULL, "should have a non-null klass"); blk->do_oop((oop*)klass_addr()); if (_loader != NULL) { blk->do_oop(loader_addr()); } if (_supername != NULL) { blk->do_oop((oop*)supername_addr()); } if (_instanceKlass != NULL) { blk->do_oop((oop*)instanceKlass_addr()); } }