[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-compiler-dev
Subject: Re: RFR: JDK-8189094: Change required boot jdk to JDK 9
From: Alan Bateman <Alan.Bateman () oracle ! com>
Date: 2017-10-17 20:37:21
Message-ID: ad0fcbd6-c673-b8f0-9a85-b3d0b697f4b3 () oracle ! com
[Download RAW message or body]
On 17/10/2017 20:20, Martin Buchholz wrote:
> :
>
> Wow, --limit-modules sure is a good trick. So now we have two
> possible replacements for the demise of -Xbootclasspath/p:
> --patch-module
> --limit-modules combined with renamed replacement modules
The trick works for the unique scenario of bootstrapping the build but
is not general purpose. You can't use it to replace java.base or any
module mapped to the boot or platform class loaders for example.
>
> Looking at the patch I see
> +INTERIM_LANGTOOLS_ADD_EXPORTS := \
> + --add-exports java.base/sun.reflect.annotation=jdk.compiler.interim \
> + --add-exports java.base/jdk.internal.util.jar=jdk.jdeps.interim \
> + --add-exports java.base/jdk.internal.misc=jdk.jdeps.interim \
> + #
> so the interim compiler is accessing JDK internals - isn't this what
> we're telling users NOT to do? Especially when this is the internals
> of the boot jdk - You can't bootstrap jdk10 with any compliant
> implementation of Java SE 9! The jdk bootstrap process should be
> setting a good example!
We are stuck with the first one due to an oversight in JDK 5 in the way
that annotations are serialized.
I think the other two should go away once JarFile provides a way to get
a versioned stream (there have been a couple of threads about this on
core-libs-dev).
-Alan
[Attachment #3 (text/html)]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
On 17/10/2017 20:20, Martin Buchholz wrote:<br>
<blockquote type="cite"
cite="mid:CA+kOe09BV119qS-yZL6isey9vEbD8vd8WaaOadyxVuG9gDNz2w@mail.gmail.com">
<div dir="ltr">:<br>
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>Wow, --limit-modules sure is a good trick. So now we
have two possible replacements for the demise of
-Xbootclasspath/p:</div>
<div>--patch-module</div>
<div>--limit-modules combined with renamed replacement
modules</div>
</div>
</div>
</div>
</blockquote>
The trick works for the unique scenario of bootstrapping the build
but is not general purpose. You can't use it to replace java.base or
any module mapped to the boot or platform class loaders for example.<br>
<br>
<blockquote type="cite"
cite="mid:CA+kOe09BV119qS-yZL6isey9vEbD8vd8WaaOadyxVuG9gDNz2w@mail.gmail.com">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>Looking at the patch I see</div>
<div>
<pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">+INTERIM_LANGTOOLS_ADD_EXPORTS \
:= \ + --add-exports java.base/sun.reflect.annotation=jdk.compiler.interim \
+ --add-exports java.base/jdk.internal.util.jar=jdk.jdeps.interim \
+ --add-exports java.base/jdk.internal.misc=jdk.jdeps.interim \
+ #
</pre>
</div>
<div>so the interim compiler is accessing JDK internals -
isn't this what we're telling users NOT to do? Especially
when this is the internals of the boot jdk - You can't
bootstrap jdk10 with any compliant implementation of Java
SE 9! The jdk bootstrap process should be setting a good
example!</div>
</div>
</div>
</div>
</blockquote>
We are stuck with the first one due to an oversight in JDK 5 in the
way that annotations are serialized.<br>
<br>
I think the other two should go away once JarFile provides a way to
get a versioned stream (there have been a couple of threads about
this on core-libs-dev).<br>
<br>
-Alan<br>
</body>
</html>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic