< prev index next >
src/share/vm/oops/instanceRefKlass.cpp
Print this page
*** 70,84 ****
void InstanceRefKlass::oop_verify_on(oop obj, outputStream* st) {
InstanceKlass::oop_verify_on(obj, st);
// Verify referent field
oop referent = java_lang_ref_Reference::referent(obj);
if (referent != NULL) {
! guarantee(referent->is_oop(), "referent field heap failed");
}
// Verify next field
oop next = java_lang_ref_Reference::next(obj);
if (next != NULL) {
! guarantee(next->is_oop(), "next field should be an oop");
guarantee(next->is_instance(), "next field should be an instance");
guarantee(InstanceKlass::cast(next->klass())->is_reference_instance_klass(), "next field verify failed");
}
}
--- 70,84 ----
void InstanceRefKlass::oop_verify_on(oop obj, outputStream* st) {
InstanceKlass::oop_verify_on(obj, st);
// Verify referent field
oop referent = java_lang_ref_Reference::referent(obj);
if (referent != NULL) {
! guarantee(oopDesc::is_oop(referent), "referent field heap failed");
}
// Verify next field
oop next = java_lang_ref_Reference::next(obj);
if (next != NULL) {
! guarantee(oopDesc::is_oop(next), "next field should be an oop");
guarantee(next->is_instance(), "next field should be an instance");
guarantee(InstanceKlass::cast(next->klass())->is_reference_instance_klass(), "next field verify failed");
}
}
< prev index next >