Mercurial > hg > truffle
comparison mx/mx_graal.py @ 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 | ffddcdca8e74 |
children | 3e4d3be0b6bf |
comparison
equal
deleted
inserted
replaced
17051:c25fcf343b4f | 17052:35fda668ed6e |
---|---|
1329 self.duration = datetime.timedelta(seconds=self.end - self.start) | 1329 self.duration = datetime.timedelta(seconds=self.end - self.start) |
1330 mx.log(time.strftime('gate: %d %b %Y %H:%M:%S: ABORT: ') + self.title + ' [' + str(self.duration) + ']') | 1330 mx.log(time.strftime('gate: %d %b %Y %H:%M:%S: ABORT: ') + self.title + ' [' + str(self.duration) + ']') |
1331 mx.abort(codeOrMessage) | 1331 mx.abort(codeOrMessage) |
1332 return self | 1332 return self |
1333 | 1333 |
1334 def ctw(args): | |
1335 """run CompileTheWorld""" | |
1336 from sanitycheck import CTWMode | |
1337 modes = { | |
1338 'noinline' : CTWMode.NoInline, | |
1339 'nocomplex' : CTWMode.NoComplex, | |
1340 'full' : CTWMode.Full | |
1341 } | |
1342 mode = sanitycheck.CTWMode.NoInline | |
1343 vmargs = [] | |
1344 for a in args: | |
1345 m = modes.get(a, None) | |
1346 if m: | |
1347 mode = m | |
1348 else: | |
1349 vmargs.append(a) | |
1350 | |
1351 jdk = _jdk(installJars=False) | |
1352 rtjar = join(jdk, 'jre', 'lib', 'rt.jar') | |
1353 | |
1354 vm_ = _get_vm() | |
1355 | |
1356 args = vmargs + ['-XX:+CompileTheWorld', '-Xbootclasspath/p:' + rtjar] | |
1357 if vm_ == 'graal': | |
1358 args += ['-XX:+BootstrapGraal'] | |
1359 if mode >= CTWMode.NoInline: | |
1360 if not isGraalEnabled(vm_): | |
1361 args.append('-XX:-Inline') | |
1362 else: | |
1363 args.append('-G:-Inline') | |
1364 if mode >= CTWMode.NoComplex: | |
1365 if isGraalEnabled(vm_): | |
1366 args += ['-G:-OptLoopTransform', '-G:-OptTailDuplication', '-G:-FullUnroll', '-G:-MemoryAwareScheduling', '-G:-NewMemoryAwareScheduling', '-G:-PartialEscapeAnalysis'] | |
1367 vm(args) | |
1368 | |
1334 def _basic_gate_body(args, tasks): | 1369 def _basic_gate_body(args, tasks): |
1335 t = Task('BuildHotSpotGraal: fastdebug,product') | 1370 t = Task('BuildHotSpotGraal: fastdebug,product') |
1336 buildvms(['--vms', 'graal,server', '--builds', 'fastdebug,product']) | 1371 buildvms(['--vms', 'graal,server', '--builds', 'fastdebug,product']) |
1337 tasks.append(t.stop()) | 1372 tasks.append(t.stop()) |
1338 | 1373 |
2246 'buildvars': [buildvars, ''], | 2281 'buildvars': [buildvars, ''], |
2247 'buildvms': [buildvms, '[-options]'], | 2282 'buildvms': [buildvms, '[-options]'], |
2248 'c1visualizer' : [c1visualizer, ''], | 2283 'c1visualizer' : [c1visualizer, ''], |
2249 'checkheaders': [checkheaders, ''], | 2284 'checkheaders': [checkheaders, ''], |
2250 'clean': [clean, ''], | 2285 'clean': [clean, ''], |
2286 'ctw': [ctw, '[-vmoptions|noinline|nocomplex|full]'], | |
2251 'findbugs': [findbugs, ''], | 2287 'findbugs': [findbugs, ''], |
2252 'generateZshCompletion' : [generateZshCompletion, ''], | 2288 'generateZshCompletion' : [generateZshCompletion, ''], |
2253 'hsdis': [hsdis, '[att]'], | 2289 'hsdis': [hsdis, '[att]'], |
2254 'hcfdis': [hcfdis, ''], | 2290 'hcfdis': [hcfdis, ''], |
2255 'igv' : [igv, ''], | 2291 'igv' : [igv, ''], |