Merge
authorhseigel
Wed, 06 Apr 2016 16:03:02 +0200
changeset 37416 9f905b8b3718
parent 37414 2672ba9af0dc (current diff)
parent 37415 35df58edb348 (diff)
child 37417 84ec61d3b87e
child 37418 ebb041956080
Merge
--- a/hotspot/src/share/vm/classfile/classLoaderData.cpp	Wed Apr 06 13:41:59 2016 +0200
+++ b/hotspot/src/share/vm/classfile/classLoaderData.cpp	Wed Apr 06 16:03:02 2016 +0200
@@ -373,13 +373,10 @@
   // Lazily create the package entry table at first request.
   if (_packages == NULL) {
     MutexLockerEx m1(metaspace_lock(), Mutex::_no_safepoint_check_flag);
-    // Check again if _packages has been allocated while we were getting this lock.
-    if (_packages != NULL) {
-      return _packages;
+    // Check if _packages got allocated while we were waiting for this lock.
+    if (_packages == NULL) {
+      _packages = new PackageEntryTable(PackageEntryTable::_packagetable_entry_size);
     }
-    // Ensure _packages is stable, since it is examined without a lock
-    OrderAccess::storestore();
-    _packages = new PackageEntryTable(PackageEntryTable::_packagetable_entry_size);
   }
   return _packages;
 }