RFR 8178604: JVM does not allow defining boot loader modules in exploded build after module system initialization

harold seigel harold.seigel at oracle.com
Tue May 2 13:03:07 UTC 2017


Hi Lois,

Thanks for your comments.  Please see my in-line responses.

Harold


On 5/1/2017 4:14 PM, Lois Foltan wrote:
> Hi Harold,
>
> Looks good. A couple of comments:
>
> src/share/vm/classfile/classLoader.cpp
>     line #828 - please take out the Module_lock when the 
> _exploded_entries is created
This fix does not change the possible need for synchronization when 
_exploded_entries gets created during module system initialization. Are 
you saying that the existing code is wrong and should have taken out the 
Module_lock before creating _exploding_entries?

>     line #1402 - I like the new factored out method 
> find_first_module_cpe(), however, instead of adding a new "need_lock" 
> parameter, I would rather see code
>                          in find_first_module_cpe() that takes the 
> Module_lock if the module_list parameter equals 
> ClassLoader::_exploded_entries
I think your suggestion makes the code less flexible and does not 
require potential future callers of search_module_entries() to think 
about synchronization.  So, I'd prefer to leave that change as is.
>
> Thanks,
> Lois
>
> On 5/1/2017 3:36 PM, harold seigel wrote:
>> Hi,
>>
>> Please review this JDK-10 bug fix to allow defining of modules to the 
>> boot loader in exploded builds after module system initialization.  
>> The fix uses the module lock to synchronize access to the 
>> _exploded_entries data structure (which is only used by exploded 
>> builds).
>>
>> Note that the above capability already exists for regular builds.
>>
>> Open Webrev: 
>> http://cr.openjdk.java.net/~hseigel/bug_8178604/webrev/index.html
>>
>> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8178604
>>
>> The fix was tested with JCK tests, the JTreg hotspot, java/io, 
>> java/lang, java/util and other tests, the RBT tier2 -tier5 tests, the 
>> co-located NSK tests, and with JPRT.  The JTReg and JCK tests were 
>> run with an exploded build.  Also, the example program in the JBS bug 
>> was run by hand to verify the fix.
>>
>> Thanks, Harold
>>
>



More information about the hotspot-runtime-dev mailing list