comparison mx/mx_graal.py @ 15051:2df054b37edc

add support for removing default JMH args (e.g., '{"-wi" : null, "-i" : null}')
author Doug Simon <doug.simon@oracle.com>
date Wed, 09 Apr 2014 23:48:22 +0200
parents dfcb1a5a7b5a
children d971a9977892
comparison
equal deleted inserted replaced
15050:90e8e3b90558 15051:2df054b37edc
1362 '-wi' : '10'} 1362 '-wi' : '10'}
1363 1363
1364 # e.g. '{"-wi" : 20}' 1364 # e.g. '{"-wi" : 20}'
1365 for j in jmhArgJsons: 1365 for j in jmhArgJsons:
1366 try: 1366 try:
1367 jmhArgs.update(json.loads(j)) 1367 for n, v in json.loads(j).iteritems():
1368 if v is None:
1369 del jmhArgs[n]
1370 else:
1371 jmhArgs[n] = v
1368 except ValueError as e: 1372 except ValueError as e:
1369 mx.abort('error parsing JSON input: {}"\n{}'.format(j, e)) 1373 mx.abort('error parsing JSON input: {}"\n{}'.format(j, e))
1370 1374
1371 jmhPath = mx.get_env('JMH_BENCHMARKS', None) 1375 jmhPath = mx.get_env('JMH_BENCHMARKS', None)
1372 if not jmhPath or not exists(jmhPath): 1376 if not jmhPath or not exists(jmhPath):
1429 javaArgs = ['-jar', os.path.join(absoluteMicro, "target", "microbenchmarks.jar"), 1433 javaArgs = ['-jar', os.path.join(absoluteMicro, "target", "microbenchmarks.jar"),
1430 '--jvm', exe, 1434 '--jvm', exe,
1431 '--jvmArgs', ' '.join(["-" + vm] + forkedVmArgs)] 1435 '--jvmArgs', ' '.join(["-" + vm] + forkedVmArgs)]
1432 for k, v in jmhArgs.iteritems(): 1436 for k, v in jmhArgs.iteritems():
1433 javaArgs.append(k) 1437 javaArgs.append(k)
1434 javaArgs.append(str(v)) 1438 if len(str(v)):
1439 javaArgs.append(str(v))
1435 mx.run_java(javaArgs + regex, addDefaultArgs=False, cwd=jmhPath) 1440 mx.run_java(javaArgs + regex, addDefaultArgs=False, cwd=jmhPath)
1436 1441
1437 1442
1438 def specjvm2008(args): 1443 def specjvm2008(args):
1439 """run one or more SPECjvm2008 benchmarks""" 1444 """run one or more SPECjvm2008 benchmarks"""