< prev index next >

src/share/vm/classfile/packageEntry.cpp

Print this page

        

@@ -96,21 +96,13 @@
     // Illegal to convert an unqualified exported package to be qualifiedly exported
     return;
   }
 
   if (m == NULL) {
-    // NULL indicates the package is being unqualifiedly exported
-    if (has_qual_exports_list()) {
-      // Legit to transition a package from being qualifiedly exported
-      // to unqualified.  Clean up the qualified lists at the next
-      // safepoint.
-      _exported_pending_delete = _qualified_exports;
-    }
-
-    // Mark package as unqualifiedly exported
+    // NULL indicates the package is being unqualifiedly exported.  Clean up
+    // the qualified list at the next safepoint.
     set_unqual_exported();
-
   } else {
     // Add the exported module
     add_qexport(m);
   }
 }

@@ -158,32 +150,23 @@
   }
 }
 
 void PackageEntry::delete_qualified_exports() {
   assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint");
-  if (_exported_pending_delete != NULL) {
-    // If a transition occurred from qualified to unqualified, the _qualified_exports
-    // field should have been NULL'ed out.
-    assert(_qualified_exports == NULL, "Package's exported pending delete, exported list should not be active");
-    delete _exported_pending_delete;
-  }
-
   if (_qualified_exports != NULL) {
     delete _qualified_exports;
   }
-
-  _exported_pending_delete = NULL;
   _qualified_exports = NULL;
 }
 
 PackageEntryTable::PackageEntryTable(int table_size)
   : Hashtable<Symbol*, mtModule>(table_size, sizeof(PackageEntry))
 {
 }
 
 PackageEntryTable::~PackageEntryTable() {
-  assert_locked_or_safepoint(Module_lock);
+  assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint");
 
   // Walk through all buckets and all entries in each bucket,
   // freeing each entry.
   for (int i = 0; i < table_size(); ++i) {
     for (PackageEntry* p = bucket(i); p != NULL;) {

@@ -300,16 +283,13 @@
 
 }
 
 // iteration of qualified exports
 void PackageEntry::package_exports_do(ModuleClosure* const f) {
-  assert_locked_or_safepoint(Module_lock);
   assert(f != NULL, "invariant");
-
   if (has_qual_exports_list()) {
     int qe_len = _qualified_exports->length();
-
     for (int i = 0; i < qe_len; ++i) {
       f->do_module(_qualified_exports->at(i));
     }
   }
 }
< prev index next >