Epsilon + Graal

Doug Simon doug.simon at oracle.com
Thu Apr 11 18:33:32 UTC 2019

> On 11 Apr 2019, at 20:06, Aleksey Shipilev <shade at redhat.com> wrote:
> Hi Doug,
> Some more questions, if you will:
> On 4/11/19 1:20 PM, Doug Simon wrote:
>>> b) The change requires adjustments in JVMCI, how is that handled? I assume JVMCI and Graal changes
>>> are done independently? In that case, there is a bit of circularity here: I cannot put JVMCI change
>>> in without breaking runs with Epsilon for a while, and cannot put Epsilon changes in before JVMCI is
>>> updated?
>> I think you can make the Graal changes independently of the JVMCI changes with this in
>> GraalHotSpotVMConfig:
>>     public final boolean useEpsilonGC = getFlag("UseEpsilonGC", Boolean.class, false);
>> That means the JVMCI patch can be submitted separately.
> Yes, but that would mean I cannot run Graal tests with Epsilon enabled, or?


>> One process option is to submit a normal JDK webrev with both JVMCI and Graal changes at the same
>> time as submitting a Graal GitHub PR. This allows you to do whatever testing you want in the normal
>> OpenJDK workflow. During the periodic Graal syncs to OpenJDK (which are thankfully becoming more
>> frequent thanks to Jesper Wilhelmsson) , the Graal changes in OpenJDK will simply be overwritten.
> Oh, that's nice. So, can I develop the change in jdk/jdk, and then PR the Graal subset of it to
> oracle/graal github? That would definitely work better for my workflow. Is there a way to run Graal
> unit tests from jdk/jdk?

Yes, although I’ve never mastered it. There is test/hotspot/jtreg/compiler/graalunit/README.md. I’m not sure complete or up to date it is. I’ve cc’ed Katya who may be able to help with any missing info.


More information about the graal-dev mailing list