comparison mx.graal/mx_graal_9.py @ 23295:22f57623221f

override "jvmci" tag for --jdk option with Graal specific JDK config
author Doug Simon <doug.simon@oracle.com>
date Tue, 12 Jan 2016 15:31:53 +0100
parents fd7e09778f42
children 279eb7ca5d24
comparison
equal deleted inserted replaced
23294:3c37032e8e63 23295:22f57623221f
359 359
360 jvmciModeArgs = _jvmciModes[_vm.jvmciMode] 360 jvmciModeArgs = _jvmciModes[_vm.jvmciMode]
361 cmd = [jdk.java] + ['-' + get_vm()] + jvmciModeArgs + args 361 cmd = [jdk.java] + ['-' + get_vm()] + jvmciModeArgs + args
362 return mx.run(cmd, nonZeroIsFatal=nonZeroIsFatal, out=out, err=err, cwd=cwd) 362 return mx.run(cmd, nonZeroIsFatal=nonZeroIsFatal, out=out, err=err, cwd=cwd)
363 363
364 _GRAAL_JVMCI_TAG = 'graal' 364 _JVMCI_JDK_TAG = 'jvmci'
365 365
366 class GraalJVMCI9JDKConfig(mx.JDKConfig): 366 class GraalJVMCI9JDKConfig(mx.JDKConfig):
367 def __init__(self, original): 367 def __init__(self, original):
368 self._original = original 368 self._original = original
369 mx.JDKConfig.__init__(self, original.home, tag=_GRAAL_JVMCI_TAG) 369 mx.JDKConfig.__init__(self, original.home, tag=_JVMCI_JDK_TAG)
370 370
371 def run_java(self, args, **kwArgs): 371 def run_java(self, args, **kwArgs):
372 run_java(self._original, args, **kwArgs) 372 run_java(self._original, args, **kwArgs)
373 373
374 class GraalJDKFactory(mx.JDKFactory): 374 class GraalJDKFactory(mx.JDKFactory):
376 return GraalJVMCI9JDKConfig(_jdk) 376 return GraalJVMCI9JDKConfig(_jdk)
377 377
378 def description(self): 378 def description(self):
379 return "JVMCI JDK with Graal" 379 return "JVMCI JDK with Graal"
380 380
381 mx.addJDKFactory(_GRAAL_JVMCI_TAG, mx.JavaCompliance('9'), GraalJDKFactory()) 381 # This will override the 'generic' JVMCI JDK with a Graal JVMCI JDK that has
382 # support for -G style Graal options.
383 mx.addJDKFactory(_JVMCI_JDK_TAG, mx.JavaCompliance('9'), GraalJDKFactory())
382 384
383 def run_vm(args, vm=None, nonZeroIsFatal=True, out=None, err=None, cwd=None, timeout=None, debugLevel=None, vmbuild=None): 385 def run_vm(args, vm=None, nonZeroIsFatal=True, out=None, err=None, cwd=None, timeout=None, debugLevel=None, vmbuild=None):
384 """run a Java program by executing the java executable in a JVMCI JDK""" 386 """run a Java program by executing the java executable in a JVMCI JDK"""
385 387
386 return run_java(_jdk, args, nonZeroIsFatal=nonZeroIsFatal, out=out, err=err, cwd=cwd, timeout=timeout) 388 return run_java(_jdk, args, nonZeroIsFatal=nonZeroIsFatal, out=out, err=err, cwd=cwd, timeout=timeout)