RFR 8170870: https://bugs.openjdk.java.net/browse/JDK-8170870
harold seigel
harold.seigel at oracle.com
Wed Dec 7 18:43:41 UTC 2016
Hi,
Please review this fix for bug JDK-8170870. The fix synchronizes access
to the class loaders' PackageEntryTable and ModuleEntryTable structures
by requiring callers of ClassLoaderData::modules_do() and
ClassLoaderData::packages_do() to lock the Module_lock.
The lock is needed because even during a safepoint one thread could be
removing items from the tables while another thread is reading the
tables. For example, unloading a class could cause an event collection
framework's JVM support to read the tables during a ClassUnload event
while the VM is removing entries from these structures for modules and
packages whose class loader got unloaded.
The fix also cleans up management of package qualified export lists.
Open Webrev:
http://cr.openjdk.java.net/~hseigel/bug_8170870/webrev/index.html
JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8170870
The fix was tested with the JCK Lang and vm tests, the JTreg hotspot,
java/io, java/lang, and java/util tests and the nsk cololocated and the
non-colocated tests.
Thanks, Harold
More information about the hotspot-runtime-dev
mailing list