hg: jigsaw/jigsaw/hotspot: Summary: Allow passing in a non-null module loader to translate to boot loader.

David M. Lloyd david.lloyd at redhat.com
Wed May 23 09:51:39 PDT 2012


On 05/22/2012 07:48 PM, karen.kinnear at oracle.com wrote:
> Changeset: c51a2d4dada0
> Author:    acorn
> Date:      2012-05-18 13:34 -0400
> URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/hotspot/rev/c51a2d4dada0
>
> Summary: Allow passing in a non-null module loader to translate to boot loader.
> Reviewed-by: mchung
>
> ! make/linux/makefiles/mapfile-vers-debug
> ! make/linux/makefiles/mapfile-vers-product
> ! make/solaris/makefiles/mapfile-vers
> ! src/share/vm/prims/jni.cpp
> ! src/share/vm/prims/jvm.cpp
> ! src/share/vm/prims/jvm.h

This change seems to me the wrong way around: since using null as an 
argument to Class.forName() (and similar) still has to be supported, why 
not simply have the base module class loader delegate to its parent? 
This, in combination with "spoofing" the base module's 
Class.getClassLoader() output, seems like it would suffice.

On a related note, most standalone class loaders out in the wild will in 
fact delegate to their parent.  What does this mean when classes that 
were a part of the core JDK are now in discrete (non-visible) modules? 
I think this is a major weakness of retroactively modularizing the core.

-- 
- DML



More information about the jigsaw-dev mailing list