Question about FileManagers in Jigsaw.
jonathan.gibbons at oracle.com
Tue Mar 13 13:36:20 PDT 2012
On 03/13/2012 01:27 PM, Fredrik Öhrström wrote:
> ----- jonathan.gibbons at oracle.com skrev:
>> You need what I normally call the "hybrid javac", what you call
>> "bootstrap javac" which is latest code compiled to run on boot jdk.
>> That is enough to compile the base module, with a ZeroMod module
> Is the ZeroMod located inside the langtools repo or in the jdk repo?
> Where do Genstubs come in?
ZeroMod is currently an inner class inside com.sun.tools.javac.comp.Modules.
GenStubs is currently used to build the hybrid/bootstrap javac, and the
final product javac.
>> I would think you would run these classes in /legacy/ mode to get to
>> an initial module image.
> Initial? Do you mean a bootstrap base module image, needed for the bootstrap javac
> to compile the real base module?
The hybrid/bootstrap javac initially runs on the BOOTDIR java. The
intent is that hybrid javac is good enough to create enough JDK 8
classes which can be run on the new JDK 8 JVM in legacy/classpath mode
to create a basic module library containing a real base module. That
should be good enough to run hybrid/bootstrap javac such that it now has
access to the real Jigsaw library API, and so does not need to use
ZeroMod for compiling the rest of JDK.
>> Hopefully, javac is the only part of the system that needs to be built
>> twice, i.e. the same as is the case now.
> Good, I thought that perhaps javac (when introducing jigsaw) would be
> required to be built thrice.
well, add SKIP_BOOT_CYCLE into the mix and we'll be up to four times
(but not six!) :-)
More information about the jigsaw-dev