comparison mx.graal/mx_graal.py @ 22326:fb528be6e4e6

Fix graal gate.
author Roland Schatz <roland.schatz@oracle.com>
date Mon, 27 Jul 2015 18:09:26 +0200
parents 1199fd261ff2
children b48d7b7bd938
comparison
equal deleted inserted replaced
22325:ebd91969569d 22326:fb528be6e4e6
31 import itertools 31 import itertools
32 import json 32 import json
33 33
34 import mx 34 import mx
35 import mx_jvmci 35 import mx_jvmci
36 from mx_jvmci import JvmciJDKDeployedDist, vm, VM, Task, parseVmArgs, get_vm, isVMSupported, isJVMCIEnabled, get_jvmci_jdk 36 from mx_jvmci import JvmciJDKDeployedDist, vm, VM, Task, parseVmArgs, get_vm, isVMSupported, isJVMCIEnabled, get_jvmci_jdk, buildvms
37 import mx_unittest 37 import mx_unittest
38 from mx_unittest import unittest 38 from mx_unittest import unittest
39 import mx_gate 39 import mx_gate
40 40
41 _suite = mx.suite('graal') 41 _suite = mx.suite('graal')
209 209
210 vm(vmargs) 210 vm(vmargs)
211 211
212 def _graal_gate_runner(args, tasks): 212 def _graal_gate_runner(args, tasks):
213 213
214 # Run unit tests on server-hosted-jvmci with -G:-SSA_LIR 214 # Build server-hosted-jvmci now so we can run the unit tests
215 with Task('BuildHotSpotGraalHosted: product', tasks) as t:
216 if t: buildvms(['--vms', 'server', '--builds', 'product'])
217
218 # Run graal unit tests on server-hosted-jvmci
215 with VM('server', 'product'): 219 with VM('server', 'product'):
216 with Task('UnitTestsNonSSA:hosted-product', tasks) as t: 220 with Task('Graal UnitTests: hosted-product', tasks) as t:
217 if t: unittest(['--enable-timing', '--verbose', '--fail-fast', '-G:-SSA_LIR']) 221 if t: unittest(['--suite', 'graal', '--enable-timing', '--verbose', '--fail-fast'])
222
223 # Run graal unit tests on server-hosted-jvmci with -G:-SSA_LIR
224 with VM('server', 'product'):
225 with Task('Graal UnitTestsNonSSA: hosted-product', tasks) as t:
226 if t: unittest(['--suite', 'graal', '--enable-timing', '--verbose', '--fail-fast', '-G:-SSA_LIR'])
227
218 # Run ctw against rt.jar on server-hosted-jvmci 228 # Run ctw against rt.jar on server-hosted-jvmci
219 with VM('server', 'product'): 229 with VM('server', 'product'):
220 with Task('CTW:hosted-product', tasks) as t: 230 with Task('CTW:hosted-product', tasks) as t:
221 if t: ctw(['--ctwopts', '-Inline +ExitVMOnException', '-esa', '-G:+CompileTheWorldMultiThreaded', '-G:-InlineDuringParsing', '-G:-CompileTheWorldVerbose']) 231 if t: ctw(['--ctwopts', '-Inline +ExitVMOnException', '-esa', '-G:+CompileTheWorldMultiThreaded', '-G:-InlineDuringParsing', '-G:-CompileTheWorldVerbose'])
222 232
233 # Build the jvmci VMs so we can run the other tests
234 with Task('BuildHotSpotGraalOthers: fastdebug,product', tasks) as t:
235 if t: buildvms(['--vms', 'jvmci', '--builds', 'fastdebug,product'])
236
237 # bootstrap tests
223 with VM('jvmci', 'fastdebug'): 238 with VM('jvmci', 'fastdebug'):
224 with Task('BootstrapWithSystemAssertions:fastdebug', tasks) as t: 239 with Task('BootstrapWithSystemAssertions:fastdebug', tasks) as t:
225 if t: vm(['-esa', '-XX:-TieredCompilation', '-version']) 240 if t: vm(['-esa', '-XX:-TieredCompilation', '-version'])
226 241
227 with VM('jvmci', 'fastdebug'): 242 with VM('jvmci', 'fastdebug'):
261 276
262 with VM('jvmci', 'product'): 277 with VM('jvmci', 'product'):
263 with Task('BootstrapWithImmutableCode:product', tasks) as t: 278 with Task('BootstrapWithImmutableCode:product', tasks) as t:
264 if t: vm(['-XX:-TieredCompilation', '-G:+ImmutableCode', '-G:+VerifyPhases', '-esa', '-version']) 279 if t: vm(['-XX:-TieredCompilation', '-G:+ImmutableCode', '-G:+VerifyPhases', '-esa', '-version'])
265 280
281 # run dacapo sanitychecks
266 for vmbuild in ['fastdebug', 'product']: 282 for vmbuild in ['fastdebug', 'product']:
267 for test in sanitycheck.getDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel=vmbuild) + sanitycheck.getScalaDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel=vmbuild): 283 for test in sanitycheck.getDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel=vmbuild) + sanitycheck.getScalaDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel=vmbuild):
268 with Task(str(test) + ':' + vmbuild, tasks) as t: 284 with Task(str(test) + ':' + vmbuild, tasks) as t:
269 if t and not test.test('jvmci'): 285 if t and not test.test('jvmci'):
270 t.abort(test.name + ' Failed') 286 t.abort(test.name + ' Failed')
271 287
272 # ensure -Xbatch still works 288 # ensure -Xbatch still works
273 with VM('jvmci', 'product'): 289 with VM('jvmci', 'product'):
274 with Task('DaCapo_pmd:BatchMode:product', tasks) as t: 290 with Task('DaCapo_pmd:BatchMode:product', tasks) as t:
275 if t: dacapo(['-Xbatch', 'pmd']) 291 if t: dacapo(['-Xbatch', 'pmd'])
276
277 # Prevent JVMCI modifications from breaking the standard builds
278 if args.buildNonJVMCI:
279 for vmbuild in ['product', 'fastdebug']:
280 for theVm in ['client', 'server']:
281 if not isVMSupported(theVm):
282 mx.log('The ' + theVm + ' VM is not supported on this platform')
283 continue
284 with VM(theVm, vmbuild):
285 with Task('DaCapo_pmd:' + theVm + ':' + vmbuild, tasks) as t:
286 if t: dacapo(['pmd'])
287
288 with Task('UnitTests:' + theVm + ':' + vmbuild, tasks) as t:
289 if t: unittest(['-XX:CompileCommand=exclude,*::run*', 'graal.api', 'java.test'])
290 292
291 mx_gate.add_gate_runner(_suite, _graal_gate_runner) 293 mx_gate.add_gate_runner(_suite, _graal_gate_runner)
292 294
293 def deoptalot(args): 295 def deoptalot(args):
294 """bootstrap a VM with DeoptimizeALot and VerifyOops on 296 """bootstrap a VM with DeoptimizeALot and VerifyOops on