RFR 8207778: Add locking to ModuleEntry and PackageEntry tables

Harold David Seigel harold.seigel at oracle.com
Thu Aug 9 19:10:12 UTC 2018


Thanks Lois!

I'll fix the copyright and look into renaming clean_module_package_info().

Harold


On 8/9/2018 3:06 PM, Lois Foltan wrote:
> On 8/9/2018 2:10 PM, Harold David Seigel wrote:
>
>> Hi,
>>
>> 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
>>
>
> Looks good.  A couple of minor comments:
>
> - classLoaderData.cpp
>   ClassLoaderDataGraph::clean_module_and_package_info does more than 
> just purge module reads and package exports lists, it
>   also removes entries in the dictionary of live class loaders. Maybe 
> consider changing the name?
>
> - packageEntry.cpp
>    needs copyright updated.
>
> Thanks,
> Lois



More information about the hotspot-runtime-dev mailing list