< prev index next >
src/share/vm/oops/oop.inline.hpp
Print this page
rev 11973 : [mq]: overflow_list_3_1
*** 148,174 ****
if (UseCompressedClassPointers) {
*(int*)(((intptr_t)this) + klass_gap_offset_in_bytes()) = v;
}
}
! void oopDesc::set_klass_to_list_ptr(oop k) {
// This is only to be used during GC, for from-space objects, so no
// barrier is needed.
if (UseCompressedClassPointers) {
! _metadata._compressed_klass = (narrowKlass)encode_heap_oop(k); // may be null (parnew overflow handling)
} else {
! _metadata._klass = (Klass*)(address)k;
}
}
! oop oopDesc::list_ptr_from_klass() {
// This is only to be used during GC, for from-space objects.
if (UseCompressedClassPointers) {
! return decode_heap_oop((narrowOop)_metadata._compressed_klass);
} else {
// Special case for GC
! return (oop)(address)_metadata._klass;
}
}
bool oopDesc::is_a(Klass* k) const {
return klass()->is_subtype_of(k);
--- 148,174 ----
if (UseCompressedClassPointers) {
*(int*)(((intptr_t)this) + klass_gap_offset_in_bytes()) = v;
}
}
! void oopDesc::set_klass_to_list_ptr(oopDesc* k) {
// This is only to be used during GC, for from-space objects, so no
// barrier is needed.
if (UseCompressedClassPointers) {
! _metadata._compressed_klass = (narrowKlass)encode_heap_oop(oop(k)); // may be null (parnew overflow handling)
} else {
! _metadata._klass = (Klass*)k;
}
}
! oopDesc* oopDesc::list_ptr_from_klass() {
// This is only to be used during GC, for from-space objects.
if (UseCompressedClassPointers) {
! return (oopDesc*)decode_heap_oop((narrowOop)_metadata._compressed_klass);
} else {
// Special case for GC
! return (oopDesc*)(address)_metadata._klass;
}
}
bool oopDesc::is_a(Klass* k) const {
return klass()->is_subtype_of(k);
< prev index next >