< prev index next >

src/share/vm/oops/instanceRefKlass.cpp

Print this page




  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 }
< prev index next >