# HG changeset patch # User Gilles Duboscq # Date 1366115460 -7200 # Node ID a38d748d41308ee1eb57f874846b99678ecf4bdc # Parent 57f85e39c75f1d0fab37023511614e9b91e610a3 Add support for the 'optimized' build in mx Add some CompileTheWorld benchmarks diff -r 57f85e39c75f -r a38d748d4130 mx/commands.py --- a/mx/commands.py Tue Apr 16 15:27:22 2013 +0200 +++ b/mx/commands.py Tue Apr 16 14:31:00 2013 +0200 @@ -46,7 +46,7 @@ _vm = _vmChoices[0] """ The VM builds that will be run by the 'vm' command - default is first in list """ -_vmbuildChoices = ['product', 'fastdebug', 'debug'] +_vmbuildChoices = ['product', 'fastdebug', 'debug', 'optimized'] """ The VM build that will be run by the 'vm' command. This can be set via the global '--product', '--fastdebug' and '--debug' options. """ @@ -1167,6 +1167,13 @@ if ('specjbb2013' in args): # or 'all' in args //currently not in default set benchmarks += [sanitycheck.getSPECjbb2013()] + + if ('ctw-full' in args): + 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, opts=vmArgs).items(): diff -r 57f85e39c75f -r a38d748d4130 mx/sanitycheck.py --- a/mx/sanitycheck.py Tue Apr 16 15:27:22 2013 +0200 +++ b/mx/sanitycheck.py Tue Apr 16 14:31:00 2013 +0200 @@ -220,6 +220,34 @@ tests.append(Test("Bootstrap-bigHeap", ['-version'], successREs=[time], scoreMatchers=[scoreMatcherBig], vmOpts=['-Xms2g'], ignoredVMs=['client', 'server'], benchmarkCompilationRate=False)) return tests +class CTWMode: + Full, NoInline, NoComplex = range(3) + +def getCTW(vm,mode): + time = re.compile(r"CompileTheWorld : Done \([0-9]+ classes, [0-9]+ methods, (?P