Mercurial > hg > truffle
changeset 17052:35fda668ed6e
mx: added ctw command to simplify executing CompileTheWorld
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 04 Sep 2014 22:34:03 +0200 |
parents | c25fcf343b4f |
children | 7404e1113697 |
files | mx/mx_graal.py |
diffstat | 1 files changed, 36 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mx/mx_graal.py Thu Sep 04 22:33:17 2014 +0200 +++ b/mx/mx_graal.py Thu Sep 04 22:34:03 2014 +0200 @@ -1331,6 +1331,41 @@ mx.abort(codeOrMessage) return self +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) + + jdk = _jdk(installJars=False) + rtjar = join(jdk, 'jre', 'lib', 'rt.jar') + + vm_ = _get_vm() + + 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) + def _basic_gate_body(args, tasks): t = Task('BuildHotSpotGraal: fastdebug,product') buildvms(['--vms', 'graal,server', '--builds', 'fastdebug,product']) @@ -2248,6 +2283,7 @@ 'c1visualizer' : [c1visualizer, ''], 'checkheaders': [checkheaders, ''], 'clean': [clean, ''], + 'ctw': [ctw, '[-vmoptions|noinline|nocomplex|full]'], 'findbugs': [findbugs, ''], 'generateZshCompletion' : [generateZshCompletion, ''], 'hsdis': [hsdis, '[att]'],