[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