RFR (M) JDK-8163406: The fixup_module_list must be protected by Module_lock when inserting new entries

Lois Foltan lois.foltan at oracle.com
Wed Sep 7 15:31:05 UTC 2016


Hello,

Please review the following fix:

Webrev:
http://cr.openjdk.java.net/~lfoltan/bug_jdk8163406/webrev/

Bug: The fixup_module_list must be protected by Module_lock when 
inserting new entries
https://bugs.openjdk.java.net/browse/JDK-8163406

Summary:
During bootstrapping, after the load of java.lang.Class, the method 
java_lang_Class::create_mirror() is multi-threaded.  Before java.base is 
defined to the VM, the fixup_module_list stores all classes that once 
java.base is defined, must have their module field patched with 
java.base's java.lang.reflect.Module.  Insertion of a class into the 
fixup_module_list must be protected via Module_lock. Included in this 
fix is correct order access store and load of the 
java.lang.reflect.Module field for java.base's ModuleEntry.  Thank you 
to David Holmes for guidance on this piece.

Testing:
Full hotspot nightly testing, JCK vm & lang, several iterations of jaxp 
tests to test JDK-8164721


More information about the hotspot-runtime-dev mailing list