RFR 8207778: Add locking to ModuleEntry and PackageEntry tables
Harold David Seigel
harold.seigel at oracle.com
Thu Aug 9 18:10:17 UTC 2018
Please review this fix for JDK-8207778. Instead of adding additional
and unneeded locking to the ModuleEntry and PackageEntry tables, the
ClassLoaderDataGraph unloading code was restructured to simplify
changing SystemDictionary::do_unloading() to safely scan these tables
either by taking a lock or during a safepoint.
Also, asserts for other tables scanned by
SystemDictionary::do_unloading() were changed from requiring a safepoint
to requiring either a lock or a safepoint.
Open Webrev: http://cr.openjdk.java.net/~hseigel/bug_8207778/webrev/
JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8207778
This fix was regression tested by running Mach5 tiers 1 and 2 tests and
builds on Linux-x64, Windows, and Mac OS X, running tiers 3-5 tests on
Linux-x64, and by running JCK-11 API, Lang and VM tests on Linux-x64.
More information about the hotspot-runtime-dev