@@ -420,7 +420,8 @@ def _compiler_error_options(default_compilation_failure_action='ExitVM', vmargs=
420
420
res .append (prefix + 'ShowDumpFiles=true' )
421
421
return res
422
422
423
- def _gate_dacapo (name , iterations , extraVMarguments = None , force_serial_gc = True , threads = None ):
423
+ def _gate_dacapo (name , iterations , extraVMarguments = None , force_serial_gc = True , threads = None , suite_version = "9.12-MR1-git+2baec49" ):
424
+ # by default, it uses a version of the DaCapo suite archive that is reasonably-sized for gating
424
425
if iterations == - 1 :
425
426
return
426
427
vmargs = ['-XX:+UseSerialGC' ] if force_serial_gc else []
@@ -437,7 +438,7 @@ def _gate_dacapo(name, iterations, extraVMarguments=None, force_serial_gc=True,
437
438
438
439
# catch `*-report.txt` if the benchmark fails
439
440
try :
440
- return _run_benchmark ('dacapo' , name , args , vmargs )
441
+ return _run_benchmark ('dacapo' , name , args , vmargs , suite_version = suite_version )
441
442
except BaseException as e :
442
443
file = os .path .join (scratch_dir , f"{ name } -report.txt" )
443
444
# not all benchmarks produce a report file
@@ -465,14 +466,16 @@ def _gate_renaissance(name, iterations, extraVMarguments=None):
465
466
return _run_benchmark ('renaissance' , name , args , vmargs )
466
467
467
468
468
- def _run_benchmark (suite , name , args , vmargs ):
469
+ def _run_benchmark (suite , name , args , vmargs , suite_version = None ):
469
470
if not [vmarg for vmarg in vmargs if vmarg .startswith ('-Xmx' )]:
470
471
vmargs += ['-Xmx8g' ]
471
472
out = mx .TeeOutputCapture (mx .OutputCapture ())
472
- exit_code , suite , results = mx_benchmark .gate_mx_benchmark (["{}:{}" .format (suite , name ), "--tracker=none" , "--" ] + vmargs + ["--" ] + args , out = out , err = out , nonZeroIsFatal = False )
473
+ suite_version_arg = ["--bench-suite-version" , str (suite_version )] if suite_version else []
474
+ exit_code , suite , results = mx_benchmark .gate_mx_benchmark (["{}:{}" .format (suite , name )] + suite_version_arg + [ "--tracker=none" , "--" ] + vmargs + ["--" ] + args , out = out , err = out , nonZeroIsFatal = False )
473
475
if exit_code != 0 :
474
476
mx .log (out )
475
- mx .abort ("Gate for {} benchmark '{}' failed!" .format (suite , name ))
477
+ suite_str = f"{ suite } (version={ suite_version } )" if suite_version else suite
478
+ mx .abort ("Gate for {} benchmark '{}' failed!" .format (suite_str , name ))
476
479
return exit_code , suite , results
477
480
478
481
def _check_forbidden_imports (projects , package_substrings , exceptions = None ):
0 commit comments