Graal plans relating to JDK 9?

Deneau, Tom tom.deneau at
Thu Aug 28 19:58:26 UTC 2014

Doug --

Just wondering, why does the Hotspot version difference manifest itself as shown below?

Also, are there recommended ways to do the merge using for instance mercurial to help?

By the way, I tried a different experiment just changing all the 1.8 in mx/projects to 1.9.  (and then not including 1.8 in EXTRA_JAVA_HOMES).  There was a build failure in the file we recently added because it used sun.misc.FpUtils which apparently was removed in Java9 (it was marked deprecated before).  This was easy to fix, and then everything built, but got the same initialization error as shown below.

-- Tom

-----Original Message-----
From: Doug Simon [mailto:doug.simon at] 
Sent: Thursday, August 28, 2014 2:19 PM
To: Deneau, Tom
Cc: Thomas Wuerthinger; Caspole, Eric; graal-dev at
Subject: Re: Graal plans relating to JDK 9?

Ok, looks like GraalVM is not compatible with JDK 9. You'll need to merge in HotSpot from a JDK 9, build it, and see what happens...

On Aug 28, 2014, at 9:15 PM, Deneau, Tom <tom.deneau at> wrote:

> Yes, adding a Java8 to EXTRA_JAVA_HOMES was the first thing I tried...
> It did build, but at runtime I got
> Error occurred during initialization of VM
> java.lang.ExceptionInInitializerError
> 	at java.lang.ClassLoader.initSystemClassLoader(
> 	at java.lang.ClassLoader.getSystemClassLoader(
> Caused by: java.lang.NullPointerException
> 	at java.lang.reflect.Array.newArray(Native Method)
> 	at java.lang.reflect.Array.newInstance(
> 	at java.util.Arrays.copyOf(
> 	at java.util.ArrayList.toArray(
> 	at sun.misc.MetaIndex.<init>(
> 	at sun.misc.MetaIndex.registerDirectory(
> 	at sun.misc.Launcher$ExtClassLoader$
> 	at sun.misc.Launcher$ExtClassLoader$
> 	at Method)
> 	at sun.misc.Launcher$ExtClassLoader.getExtClassLoader(
> 	at sun.misc.Launcher.<init>(
> 	at sun.misc.Launcher.<clinit>(
> 	at java.lang.ClassLoader.initSystemClassLoader(
> 	at java.lang.ClassLoader.getSystemClassLoader(
> -----Original Message-----
> From: Doug Simon [mailto:doug.simon at] 
> Sent: Thursday, August 28, 2014 2:12 PM
> To: Deneau, Tom
> Cc: Thomas Wuerthinger; Caspole, Eric; graal-dev at
> Subject: Re: Graal plans relating to JDK 9?
> On Aug 28, 2014, at 9:03 PM, Deneau, Tom <tom.deneau at> wrote:
>> Re-opening the JDK9 issue which was brought up back in June...
>> I wanted to understand what would be involved in creating a private JDK9-compliant graal repository.  Not knowing much of the underlying dependencies on specific JDK versions, I would have thought that JDK9 was backwards compatible and so any project that declared a dependency on 1.8 would also work with JDK9.
>> But I see the logic in for Project(Dependency)__init__ does not agree.
> You can (probably) get around *that* hurdle by modifying your mx/env to be something like:
> JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.9.0.jdk/Contents/Home
> EXTRA_JAVA_HOMES=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home:/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
> Then the build should/might work. However, I've heard that deploying the resulting 1.8 HotSpot VM into JDK9 doesn't work. After merging in a jdk9 HotSpot repo, you can try and build a 1.9 HotSpotVM but I have no experience with this (yet).
> -Doug
>> -----Original Message-----
>> From: Thomas Wuerthinger [mailto:thomas.wuerthinger at] 
>> Sent: Sunday, June 01, 2014 11:43 AM
>> To: Caspole, Eric
>> Cc: Doug Simon; Deneau, Tom; Frost, Gary
>> Subject: Re: Graal plans relating to JDK 9?
>> The main Graal repository is going to stay with JDK8 for a while, because we want to create a stable version of Graal combined with a stable version of JDK8. We could however think about creating a child repository that derives from the main repository (and which could merge in JDK9); e.g. "graal-hsa". We could there also give you there direct push rights. - thomas
>> On 30 May 2014, at 17:18, Eric Caspole <eric.caspole at> wrote:
>>> There are several reasons but one thing that I am interested in for JDK9 is how we might tweak the Stream API to make it easier for us to decompose the stream pipeline that we are going to offload. The way we do it now is very fragile.
>>> On 05/30/2014 11:12 AM, Doug Simon wrote:
>>>> We've made the decision to stick with jdk 8 until we have a clearer picture about integration of Graal into the product VM. Are there features in 9 that are of particular relevance for Sumatra?
>>>> Sent from my iPhone
>>>>> On May 30, 2014, at 4:34 PM, Eric Caspole <eric.caspole at> wrote:
>>>>> Hi Doug,
>>>>> What are the Graal plans relating to JDK 9? We would like to move the Sumatra repos to be based on JDK9, but I am worried it will not work with Graal since I have already noticed some compiler refactoring in JDK9 Hotspot that makes me wonder if Graal JVM will drop in and work.
>>>>> What do you think?
>>>>> Thanks,
>>>>> Eric

More information about the graal-dev mailing list