Question about FileManagers in Jigsaw.

Jonathan Gibbons 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
>> resolver.
> 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!) :-)

> //Fredrik
>
>
>




More information about the jigsaw-dev mailing list