55 assert(map->offset() == java_lang_ref_Reference::queue_offset && 56 map->count() == 1, "just checking"); 57 } else { 58 assert(map->offset() == offset && map->count() == count, 59 "just checking"); 60 61 // Update map to (3,1) - point to offset of 3 (words) with 1 map entry. 62 map->set_offset(java_lang_ref_Reference::queue_offset); 63 map->set_count(1); 64 } 65 } 66 67 68 // Verification 69 70 void InstanceRefKlass::oop_verify_on(oop obj, outputStream* st) { 71 InstanceKlass::oop_verify_on(obj, st); 72 // Verify referent field 73 oop referent = java_lang_ref_Reference::referent(obj); 74 if (referent != NULL) { 75 guarantee(referent->is_oop(), "referent field heap failed"); 76 } 77 // Verify next field 78 oop next = java_lang_ref_Reference::next(obj); 79 if (next != NULL) { 80 guarantee(next->is_oop(), "next field should be an oop"); 81 guarantee(next->is_instance(), "next field should be an instance"); 82 guarantee(InstanceKlass::cast(next->klass())->is_reference_instance_klass(), "next field verify failed"); 83 } 84 } | 55 assert(map->offset() == java_lang_ref_Reference::queue_offset && 56 map->count() == 1, "just checking"); 57 } else { 58 assert(map->offset() == offset && map->count() == count, 59 "just checking"); 60 61 // Update map to (3,1) - point to offset of 3 (words) with 1 map entry. 62 map->set_offset(java_lang_ref_Reference::queue_offset); 63 map->set_count(1); 64 } 65 } 66 67 68 // Verification 69 70 void InstanceRefKlass::oop_verify_on(oop obj, outputStream* st) { 71 InstanceKlass::oop_verify_on(obj, st); 72 // Verify referent field 73 oop referent = java_lang_ref_Reference::referent(obj); 74 if (referent != NULL) { 75 guarantee(oopDesc::is_oop(referent), "referent field heap failed"); 76 } 77 // Verify next field 78 oop next = java_lang_ref_Reference::next(obj); 79 if (next != NULL) { 80 guarantee(oopDesc::is_oop(next), "next field should be an oop"); 81 guarantee(next->is_instance(), "next field should be an instance"); 82 guarantee(InstanceKlass::cast(next->klass())->is_reference_instance_klass(), "next field verify failed"); 83 } 84 } |