Mercurial > hg > graal-compiler
changeset 22951:d74202a599fe
Support running Truffle using Graal on a JVMCI-enabled JDK9 image.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Thu, 05 Nov 2015 18:26:45 +0100 |
parents | 16c3ddbe2ebc |
children | 1ba34f16d176 |
files | mx.graal/mx_graal_9.py |
diffstat | 1 files changed, 21 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mx.graal/mx_graal_9.py Fri Oct 16 16:32:02 2015 +0200 +++ b/mx.graal/mx_graal_9.py Thu Nov 05 18:26:45 2015 +0100 @@ -42,7 +42,7 @@ _suite = mx.suite('graal') -_jdk = mx.get_jdk() +_jdk = mx.get_jdk(tag='default') assert _jdk.javaCompliance >= "1.9" def isJVMCIEnabled(vm): @@ -546,10 +546,29 @@ cmd = [jdk.java] + ['-' + get_vm()] + jvmciModeArgs + args return mx.run(cmd, nonZeroIsFatal=nonZeroIsFatal, out=out, err=err, cwd=cwd) +_GRAAL_JVMCI_TAG = 'graal' + +class GraalJVMCI9JDKConfig(mx.JDKConfig): + def __init__(self, original): + self._original = original + mx.JDKConfig.__init__(self, original.home, tag=_GRAAL_JVMCI_TAG) + + def run_java(self, args, **kwArgs): + run_java(self._original, args, **kwArgs) + +class GraalJDKFactory(mx.JDKFactory): + def getJDKConfig(self): + return GraalJVMCI9JDKConfig(_jdk) + + def description(self): + return "JVMCI JDK with Graal" + +mx.addJDKFactory(_GRAAL_JVMCI_TAG, mx.JavaCompliance('9'), GraalJDKFactory()) + def run_vm(args, vm=None, nonZeroIsFatal=True, out=None, err=None, cwd=None, timeout=None, debugLevel=None, vmbuild=None): """run a Java program by executing the java executable in a JVMCI JDK""" - return run_java(mx.get_jdk(), args, nonZeroIsFatal=nonZeroIsFatal, out=out, err=err, cwd=cwd, timeout=timeout) + return run_java(_jdk, args, nonZeroIsFatal=nonZeroIsFatal, out=out, err=err, cwd=cwd, timeout=timeout) class GraalArchiveParticipant: def __init__(self, dist):