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.

Thanks, Harold

More information about the hotspot-runtime-dev mailing list