RFR: JDK-8189094: Change required boot jdk to JDK 9
Alan.Bateman at oracle.com
Tue Oct 17 17:10:34 UTC 2017
On 17/10/2017 17:53, Martin Buchholz wrote:
> I tried to figure out how this patch actually works. At first I
> thought we were "shading" (renaming all the packages in the source
> files) but now I think we're merely renaming the modules by appending
> ".interim" to the names. But that looks like cheating to me - we're
> not allowed to have multiple modules containing the same packages, but
> are getting away with it because the runtime happens to never look at
> the (unused) original jdk9 modules?
The patch uses `--limit-modules` to limit the observability of modules
and prevent the jdk.compiler module in the boot JDK from being resolved.
If the boot JDK were to resolve jdk.compiler (in its own run-time image)
and jdk.compiler.interim on the module path then you would end up with
two modules containing the same classes mapped to the app class loader,
can't do that.
More information about the build-dev