< prev index next >

src/share/vm/classfile/dictionary.cpp

Print this page

        

@@ -78,17 +78,18 @@
 }
 
 
 bool DictionaryEntry::contains_protection_domain(oop protection_domain) const {
 #ifdef ASSERT
-  if (protection_domain == InstanceKlass::cast(klass())->protection_domain()) {
+  protection_domain = oopDesc::bs()->write_barrier(protection_domain);
+  if (protection_domain == oopDesc::bs()->write_barrier(InstanceKlass::cast(klass())->protection_domain())) {
     // Ensure this doesn't show up in the pd_set (invariant)
     bool in_pd_set = false;
     for (ProtectionDomainEntry* current = _pd_set;
                                 current != NULL;
                                 current = current->next()) {
-      if (current->protection_domain() == protection_domain) {
+      if (oopDesc::bs()->write_barrier(current->protection_domain()) == protection_domain) {
         in_pd_set = true;
         break;
       }
     }
     if (in_pd_set) {

@@ -96,19 +97,19 @@
                     "in its sys. dict. PD set");
     }
   }
 #endif /* ASSERT */
 
-  if (protection_domain == InstanceKlass::cast(klass())->protection_domain()) {
+  if (protection_domain == oopDesc::bs()->write_barrier(InstanceKlass::cast(klass())->protection_domain())) {
     // Succeeds trivially
     return true;
   }
 
   for (ProtectionDomainEntry* current = _pd_set;
                               current != NULL;
                               current = current->next()) {
-    if (current->protection_domain() == protection_domain) return true;
+    if (oopDesc::bs()->write_barrier(current->protection_domain()) == protection_domain) return true;
   }
   return false;
 }
 
 

@@ -775,6 +776,5 @@
             "Verify of system dictionary failed");
   debug_only(verify_lookup_length((double)number_of_entries() / table_size()));
 
   _pd_cache_table->verify();
 }
-
< prev index next >