# HG changeset patch # User hseigel # Date 1459942635 14400 # Node ID 35df58edb3487a0a38c93c0dddf68026256b36f9 # Parent d5f8d53af5ecb008cebc685ef4feb231dc7aa4b7 8152846: Creation of ModuleEntryTable Investigate Need For OrderAccess::storestore() Summary: Remove the unneeded OrderAccess::storestore() call Reviewed-by: acorn, coleenp diff -r d5f8d53af5ec -r 35df58edb348 hotspot/src/share/vm/classfile/classLoaderData.cpp --- a/hotspot/src/share/vm/classfile/classLoaderData.cpp Wed Apr 06 10:50:19 2016 +0300 +++ b/hotspot/src/share/vm/classfile/classLoaderData.cpp Wed Apr 06 07:37:15 2016 -0400 @@ -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; }