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.
More information about the jigsaw-dev