def compiler_gate_runner(suites, unit_test_runs, bootstrap_tests, tasks, extraVMarguments=None): # Build server-hosted-jvmci now so we can run the unit tests with Task('BuildHotSpotGraalHosted: product', tasks, tags=[GraalTags.test, GraalTags.fulltest]) as t: if t: buildvms(['--vms', 'server', '--builds', 'product']) with VM('server', 'product'): # Run unit tests on server-hosted-jvmci for r in unit_test_runs: r.run(suites, tasks, extraVMarguments) # Run microbench on server-hosted-jvmci (only for testing the JMH setup) with VM('server', 'product'): for r in [MicrobenchRun('Microbench', ['TestJMH'], tags=[GraalTags.fulltest])]: r.run(tasks, extraVMarguments) # Run ctw against rt.jar on server-hosted-jvmci with VM('server', 'product'): with Task('CTW:hosted-product', tasks, tags=[GraalTags.fulltest]) as t: if t: ctw(['--ctwopts', '-Inline +ExitVMOnException', '-esa', '-G:+CompileTheWorldMultiThreaded', '-G:-InlineDuringParsing', '-G:-CompileTheWorldVerbose', '-XX:ReservedCodeCacheSize=400m'], _noneAsEmptyList(extraVMarguments)) # Build the jvmci VMs so we can run the other tests with Task('BuildHotSpotGraalJVMCI: fastdebug', tasks, tags=[GraalTags.bootstrap, GraalTags.fulltest]) as t: if t: buildvms(['--vms', 'jvmci', '--builds', 'fastdebug']) with Task('BuildHotSpotGraalJVMCI: product', tasks, tags=[GraalTags.fulltest]) as t: if t: buildvms(['--vms', 'jvmci', '--builds', 'product']) # bootstrap tests for b in bootstrap_tests: b.run(tasks, extraVMarguments) # run dacapo sanitychecks for vmbuild in ['fastdebug', 'product']: for test in sanitycheck.getDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel=vmbuild, extraVmArguments=extraVMarguments) \ + sanitycheck.getScalaDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel=vmbuild, extraVmArguments=extraVMarguments): with Task(str(test) + ':' + vmbuild, tasks, tags=[GraalTags.fulltest]) as t: if t and not test.test('jvmci'): t.abort(test.name + ' Failed') # ensure -Xbatch still works with VM('jvmci', 'product'): with Task('DaCapo_pmd:BatchMode:product', tasks, tags=[GraalTags.fulltest]) as t: if t: dacapo(_noneAsEmptyList(extraVMarguments) + ['-Xbatch', 'pmd']) # ensure benchmark counters still work with VM('jvmci', 'product'): with Task('DaCapo_pmd:BenchmarkCounters:product', tasks, tags=[GraalTags.fulltest]) as t: if t: dacapo(_noneAsEmptyList(extraVMarguments) + ['-G:+LIRProfileMoves', '-G:+GenericDynamicCounters', '-XX:JVMCICounterSize=10', 'pmd']) # ensure -Xcomp still works with VM('jvmci', 'product'): with Task('XCompMode:product', tasks, tags=[GraalTags.fulltest]) as t: if t: run_vm(_noneAsEmptyList(extraVMarguments) + ['-Xcomp', '-version'])
def compiler_gate_runner(suites, unit_test_runs, bootstrap_tests, tasks, extraVMarguments=None): # Run unit tests in hosted mode with JVMCIMode('hosted'): for r in unit_test_runs: r.run(suites, tasks, extraVMarguments) # Run ctw against rt.jar on server-hosted-jvmci with JVMCIMode('hosted'): with Task('CTW:hosted', tasks) as t: if t: ctw([ '--ctwopts', '-Inline +ExitVMOnException', '-esa', '-G:+CompileTheWorldMultiThreaded', '-G:-InlineDuringParsing', '-G:-CompileTheWorldVerbose', '-XX:ReservedCodeCacheSize=300m' ], _noneAsEmptyList(extraVMarguments)) # bootstrap tests for b in bootstrap_tests: b.run(tasks, extraVMarguments) # run dacapo sanitychecks for test in sanitycheck.getDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel='release', extraVmArguments=extraVMarguments) \ + sanitycheck.getScalaDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel='release', extraVmArguments=extraVMarguments): with Task(str(test) + ':' + 'release', tasks) as t: if t and not test.test('jvmci'): t.abort(test.name + ' Failed') # ensure -Xbatch still works with JVMCIMode('jit'): with Task('DaCapo_pmd:BatchMode', tasks) as t: if t: dacapo(_noneAsEmptyList(extraVMarguments) + ['-Xbatch', 'pmd']) # ensure -Xcomp still works with JVMCIMode('jit'): with Task('XCompMode:product', tasks) as t: if t: run_vm( _noneAsEmptyList(extraVMarguments) + ['-Xcomp', '-version'])
def compiler_gate_runner(suites, unit_test_runs, bootstrap_tests, tasks, extraVMarguments=None): # Run unit tests in hosted mode with JVMCIMode('hosted'): for r in unit_test_runs: r.run(suites, tasks, extraVMarguments) # Run microbench in hosted mode (only for testing the JMH setup) with JVMCIMode('hosted'): for r in [MicrobenchRun('Microbench', ['TestJMH'])]: r.run(tasks, extraVMarguments) # Run ctw against rt.jar on server-hosted-jvmci with JVMCIMode('hosted'): with Task('CTW:hosted', tasks) as t: if t: ctw(['--ctwopts', '-Inline +ExitVMOnException', '-esa', '-G:+CompileTheWorldMultiThreaded', '-G:-InlineDuringParsing', '-G:-CompileTheWorldVerbose', '-XX:ReservedCodeCacheSize=300m'], _noneAsEmptyList(extraVMarguments)) # bootstrap tests for b in bootstrap_tests: b.run(tasks, extraVMarguments) # run dacapo sanitychecks for test in sanitycheck.getDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel='release', extraVmArguments=extraVMarguments) \ + sanitycheck.getScalaDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel='release', extraVmArguments=extraVMarguments): with Task(str(test) + ':' + 'release', tasks) as t: if t and not test.test('jvmci'): t.abort(test.name + ' Failed') # ensure -Xbatch still works with JVMCIMode('jit'): with Task('DaCapo_pmd:BatchMode', tasks) as t: if t: dacapo(_noneAsEmptyList(extraVMarguments) + ['-Xbatch', 'pmd']) # ensure benchmark counters still work with JVMCIMode('jit'): with Task('DaCapo_pmd:BenchmarkCounters:product', tasks) as t: if t: dacapo(_noneAsEmptyList(extraVMarguments) + ['-G:+LIRProfileMoves', '-G:+GenericDynamicCounters', '-XX:JVMCICounterSize=10', 'pmd']) # ensure -Xcomp still works with JVMCIMode('jit'): with Task('XCompMode:product', tasks) as t: if t: run_vm(_noneAsEmptyList(extraVMarguments) + ['-Xcomp', '-version'])
def compiler_gate_runner(suites, unit_test_runs, bootstrap_tests, tasks, extraVMarguments=None): # Run unit tests in hosted mode with JVMCIMode("hosted"): for r in unit_test_runs: r.run(suites, tasks, extraVMarguments) # Run microbench in hosted mode (only for testing the JMH setup) with JVMCIMode("hosted"): for r in [MicrobenchRun("Microbench", ["TestJMH"], tags=[GraalTags.fulltest])]: r.run(tasks, extraVMarguments) # Run ctw against rt.jar on server-hosted-jvmci with JVMCIMode("hosted"): with Task("CTW:hosted", tasks, tags=[GraalTags.fulltest]) as t: if t: ctw( [ "--ctwopts", "-Inline +ExitVMOnException", "-esa", "-G:+CompileTheWorldMultiThreaded", "-G:-InlineDuringParsing", "-G:-CompileTheWorldVerbose", "-XX:ReservedCodeCacheSize=300m", ], _noneAsEmptyList(extraVMarguments), ) # bootstrap tests for b in bootstrap_tests: b.run(tasks, extraVMarguments) # run dacapo sanitychecks for test in sanitycheck.getDacapos( level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel="release", extraVmArguments=extraVMarguments ) + sanitycheck.getScalaDacapos( level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel="release", extraVmArguments=extraVMarguments ): with Task(str(test) + ":" + "release", tasks, tags=[GraalTags.fulltest]) as t: if t and not test.test("jvmci"): t.abort(test.name + " Failed") # ensure -Xbatch still works with JVMCIMode("jit"): with Task("DaCapo_pmd:BatchMode", tasks, tags=[GraalTags.fulltest]) as t: if t: dacapo(_noneAsEmptyList(extraVMarguments) + ["-Xbatch", "pmd"]) # ensure benchmark counters still work with JVMCIMode("jit"): with Task("DaCapo_pmd:BenchmarkCounters:product", tasks, tags=[GraalTags.fulltest]) as t: if t: dacapo( _noneAsEmptyList(extraVMarguments) + ["-G:+LIRProfileMoves", "-G:+GenericDynamicCounters", "-XX:JVMCICounterSize=10", "pmd"] ) # ensure -Xcomp still works with JVMCIMode("jit"): with Task("XCompMode:product", tasks, tags=[GraalTags.fulltest]) as t: if t: run_vm(_noneAsEmptyList(extraVMarguments) + ["-Xcomp", "-version"])