Mercurial > hg > truffle
diff mx/mx_graal.py @ 17378:d42e11af980d
mx: simplified ctw command
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 09 Oct 2014 00:20:30 +0200 |
parents | 4f9633b83a24 |
children | 9e5abd0e7916 |
line wrap: on
line diff
--- a/mx/mx_graal.py Thu Oct 09 00:20:19 2014 +0200 +++ b/mx/mx_graal.py Thu Oct 09 00:20:30 2014 +0200 @@ -1358,38 +1358,26 @@ def ctw(args): """run CompileTheWorld""" - from sanitycheck import CTWMode - modes = { - 'noinline' : CTWMode.NoInline, - 'nocomplex' : CTWMode.NoComplex, - 'full' : CTWMode.Full - } - mode = sanitycheck.CTWMode.NoInline - vmargs = [] - for a in args: - m = modes.get(a, None) - if m: - mode = m - else: - vmargs.append(a) + + parser = ArgumentParser(prog='mx ctw') + parser.add_argument('--ctwopts', action='store', help='space separated Graal options (without the -G: prefix) used for CTW compilations') + parser.add_argument('--jar', action='store', help='jar of classes to compiled instead of rt.jar') + parser.add_argument('vmargs', nargs=REMAINDER, metavar='VM options...') + + args, vmargs = parser.parse_known_args(args) - jdk = _jdk(installJars=False) - rtjar = join(jdk, 'jre', 'lib', 'rt.jar') - - vm_ = _get_vm() + if args.ctwopts: + vmargs.append('-G:CompileTheWorldConfig=' + args.ctwopts) - args = vmargs + ['-XX:+CompileTheWorld', '-Xbootclasspath/p:' + rtjar] - if vm_ == 'graal': - args += ['-XX:+BootstrapGraal'] - if mode >= CTWMode.NoInline: - if not isGraalEnabled(vm_): - args.append('-XX:-Inline') - else: - args.append('-G:-Inline') - if mode >= CTWMode.NoComplex: - if isGraalEnabled(vm_): - args += ['-G:-OptLoopTransform', '-G:-OptTailDuplication', '-G:-FullUnroll', '-G:-MemoryAwareScheduling', '-G:-NewMemoryAwareScheduling', '-G:-PartialEscapeAnalysis'] - vm(args) + if args.jar: + jar = args.jar + else: + jar = join(_jdk(installJars=False), 'jre', 'lib', 'rt.jar') + + vmargs += ['-XX:+CompileTheWorld', '-Xbootclasspath/p:' + jar] + if _get_vm() == 'graal': + vmargs += ['-XX:+BootstrapGraal'] + vm(vmargs) def _basic_gate_body(args, tasks): t = Task('BuildHotSpotGraal: fastdebug,product') @@ -1748,8 +1736,6 @@ benchmarks.append(sanitycheck.getCTW(vm, sanitycheck.CTWMode.Full)) if 'ctw-noinline' in args: benchmarks.append(sanitycheck.getCTW(vm, sanitycheck.CTWMode.NoInline)) - if 'ctw-nocomplex' in args: - benchmarks.append(sanitycheck.getCTW(vm, sanitycheck.CTWMode.NoComplex)) for test in benchmarks: for (groupName, res) in test.bench(vm, extraVmOpts=vmArgs).items():