Latest Graal and AArch64 WTF?

Doug Simon doug.simon at oracle.com
Thu Jul 26 14:45:14 UTC 2018



Sent from my iPhone

> On 26 Jul 2018, at 2:43 pm, Andrew Dinn <adinn at redhat.com> wrote:
> 
>> On 26/07/18 11:54, Doug Simon wrote:
>> Does the "JVMCI-jars-only" work-around described at
>> http://mail.openjdk.java.net/pipermail/graal-dev/2018-June/005413.html
>> not work for you? The original mail in that thread provides some
>> background as to why the build change was made.
> 
> The workaround is news to me. I saw the first note about mx
> --strict-compliance being the only option available now but did not
> notice the comment in the follow-up about building for AArch64.
> 
> Is this process advertised anywhere on the graal github sites? I
> couldn't find anything on either of these two sites:
> 
>  https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_oracle_graal&d=DwIDaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=BmNY5KuefACTr_P43s8fXOXgNDkDiqlviyafeiVaP18&m=UrAmso6HA8BKFUisCMWn5d1wIPWq-LXoRtmMZjf0xxw&s=bJCsIW5H62r8M-ALQ2CTJG9dOjv7w_e0nU6U6RcA8hE&e=
>  https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_graalvm_graal-2Djvmci-2D8&d=DwIDaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=BmNY5KuefACTr_P43s8fXOXgNDkDiqlviyafeiVaP18&m=UrAmso6HA8BKFUisCMWn5d1wIPWq-LXoRtmMZjf0xxw&s=YO5VjUri8kyaU4kumOThuIiK1jWLQ1dLHVa6MQIjNBM&e=
> 
> If not perhaps it could be added to the instructions in
> 
>  https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_oracle_graal_blob_master_compiler_README.md&d=DwIDaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=BmNY5KuefACTr_P43s8fXOXgNDkDiqlviyafeiVaP18&m=UrAmso6HA8BKFUisCMWn5d1wIPWq-LXoRtmMZjf0xxw&s=TPTqRwkHUDf8LMw7GSd0JZ8HXbLlReRwcl4wx-o7pAg&e=
> 
I’ll update the README as you suggest.

> I'm still a little confused as to one specific though. Given that the
> workaround is happy to use a pre-supplied JDK8 to perform the build
> (modulo inclusion of the JVMCI jars overlay) why was there a need to
> modify the hotspot sources that sit in the graal-jvmci-8 repo? Are these
> hotspot changes needed to be able to run the JDK8 version of Graal on
> JDK8? i.e. does this mean it is not possible to use Graal on a standard
> jdk8 release?

Correct. JVMCI is composed of both C++ code and Java code. You need both to execute JVMCI but only the latter to compile against JVMCI.

> 
>> In terms of making Graal not require a JVMCI JDK8 to build, one would
>> need to factor out all code using API specific to a JDK version. For
>> each body of such code, you'd have a "placeholder" source file
>> specifying its API and overlays for each JDK version. Currently, we
>> collapse the JDK8 overlay into the placeholder. As a concrete example
>> of what I mean, today we have:
>> 
>> src/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalServices.java
>> 
>> src/org.graalvm.compiler.serviceprovider.jdk9/src/org/graalvm/compiler/serviceprovider/GraalServices.java>
>> Where the first file specifies the API for GraalServices as well as
>> its JDK8 implementation.
>> 
>> We need to move to this instead:
>> 
>> src/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalServices.java
>> 
>> src/org.graalvm.compiler.serviceprovider.jdk8/src/org/graalvm/compiler/serviceprovider/GraalServices.java>
> src/org.graalvm.compiler.serviceprovider.jdk9/src/org/graalvm/compiler/serviceprovider/GraalServices.java
>> 
>> Where the first file specifies only the API and all its methods
>> simply throw some exception.
>> 
>> In addition to the Java code changes, you'd also need to modify mx to
>> consider JDK8 overlays (until now, overlay support is mostly in the
>> JDK9+ parts of mx).
> 
> Ok, thanks. I will try to use the recommended workaround and also look
> at what is involved in fixing the problem in the Graal tree.

Great! Please keep me in the loop as I would also like to remove this requirement for a JVMCI JDK8 to be able to develop Graal that will be deployed on JDK11.

> 
> regards,
> 
> 
> Andrew Dinn
> -----------
> Senior Principal Software Engineer
> Red Hat UK Ltd
> Registered in England and Wales under Company Registration No. 03798903
> Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander



More information about the graal-dev mailing list