Mercurial > hg > graal-compiler
comparison mx.graal/mx_graal.py @ 22041:56c50504d60d
mx: removed JVMCI code from Distribution.make_archive
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Sat, 20 Jun 2015 12:37:01 +0200 |
parents | 434fbaaf53d7 |
children | db48a62aba36 1ccd66f5890c |
comparison
equal
deleted
inserted
replaced
22040:0751fdae4e7a | 22041:56c50504d60d |
---|---|
2341 mx.add_argument('--gdb', action='store_const', const='/usr/bin/gdb --args', dest='vm_prefix', help='alias for --vmprefix "/usr/bin/gdb --args"') | 2341 mx.add_argument('--gdb', action='store_const', const='/usr/bin/gdb --args', dest='vm_prefix', help='alias for --vmprefix "/usr/bin/gdb --args"') |
2342 mx.add_argument('--lldb', action='store_const', const='lldb --', dest='vm_prefix', help='alias for --vmprefix "lldb --"') | 2342 mx.add_argument('--lldb', action='store_const', const='lldb --', dest='vm_prefix', help='alias for --vmprefix "lldb --"') |
2343 | 2343 |
2344 mx.update_commands(suite, commands) | 2344 mx.update_commands(suite, commands) |
2345 | 2345 |
2346 class JVMCIArchiveParticipant: | |
2347 def __init__(self, dist): | |
2348 self.dist = dist | |
2349 self.jvmciServices = {} | |
2350 | |
2351 def __opened__(self, arc, srcArc, services): | |
2352 self.services = services | |
2353 self.arc = arc | |
2354 self.expectedOptionsProviders = set() | |
2355 | |
2356 def __add__(self, arcname, contents): | |
2357 if arcname.startswith('META-INF/jvmci.services/'): | |
2358 service = arcname[len('META-INF/jvmci.services/'):] | |
2359 self.jvmciServices.setdefault(service, []).extend([provider for provider in contents.split('\n')]) | |
2360 return True | |
2361 if arcname.startswith('META-INF/jvmci.providers/'): | |
2362 provider = arcname[len('META-INF/jvmci.providers/'):] | |
2363 for service in contents.split('\n'): | |
2364 self.jvmciServices.setdefault(service, []).append(provider) | |
2365 return True | |
2366 elif arcname.startswith('META-INF/jvmci.options/'): | |
2367 # Need to create service files for the providers of the | |
2368 # com.oracle.jvmci.options.Options service created by | |
2369 # com.oracle.jvmci.options.processor.OptionProcessor. | |
2370 optionsOwner = arcname[len('META-INF/jvmci.options/'):] | |
2371 provider = optionsOwner + '_Options' | |
2372 self.expectedOptionsProviders.add(provider.replace('.', '/') + '.class') | |
2373 #assert exists(providerClassfile), 'missing generated Options provider ' + providerClassfile | |
2374 self.services.setdefault('com.oracle.jvmci.options.Options', []).append(provider) | |
2375 return False | |
2376 | |
2377 def __addsrc__(self, arcname, contents): | |
2378 return False | |
2379 | |
2380 def __closing__(self): | |
2381 self.expectedOptionsProviders -= set(self.arc.zf.namelist()) | |
2382 assert len(self.expectedOptionsProviders) == 0, 'missing generated Options providers:\n ' + '\n '.join(self.expectedOptionsProviders) | |
2383 for service, providers in self.jvmciServices.iteritems(): | |
2384 arcname = 'META-INF/jvmci.services/' + service | |
2385 self.arc.zf.writestr(arcname, '\n'.join(providers)) | |
2386 | |
2346 def mx_post_parse_cmd_line(opts): # | 2387 def mx_post_parse_cmd_line(opts): # |
2347 # TODO _minVersion check could probably be part of a Suite in mx? | 2388 # TODO _minVersion check could probably be part of a Suite in mx? |
2348 def _versionCheck(version): | 2389 def _versionCheck(version): |
2349 return version >= _minVersion and (not _untilVersion or version >= _untilVersion) | 2390 return version >= _minVersion and (not _untilVersion or version >= _untilVersion) |
2350 versionDesc = ">=" + str(_minVersion) | 2391 versionDesc = ">=" + str(_minVersion) |
2375 def _install(dist): | 2416 def _install(dist): |
2376 assert dist.name == jdkDeployable.name, dist.name + "!=" + jdkDeployable.name | 2417 assert dist.name == jdkDeployable.name, dist.name + "!=" + jdkDeployable.name |
2377 if not jdkDist.partOfHotSpot: | 2418 if not jdkDist.partOfHotSpot: |
2378 _installDistInJdks(jdkDeployable) | 2419 _installDistInJdks(jdkDeployable) |
2379 return _install | 2420 return _install |
2380 mx.distribution(jdkDist.name).add_update_listener(_close(jdkDist)) | 2421 dist = mx.distribution(jdkDist.name) |
2422 dist.add_update_listener(_close(jdkDist)) | |
2423 if jdkDist.usesJVMCIClassLoader: | |
2424 dist.set_archiveparticipant(JVMCIArchiveParticipant(dist)) | |
2425 |