[pypy-svn] r40779 - in pypy/dist/pypy: jit/goal module/pypyjit translator translator/goal
ac at codespeak.net
ac at codespeak.net
Mon Mar 19 17:18:09 CET 2007
Author: ac
Date: Mon Mar 19 17:18:07 2007
New Revision: 40779
Added:
pypy/dist/pypy/module/pypyjit/portal.py
- copied, changed from r40775, pypy/dist/pypy/jit/goal/jitstep.py
Removed:
pypy/dist/pypy/jit/goal/
Modified:
pypy/dist/pypy/translator/driver.py
pypy/dist/pypy/translator/goal/targetpypystandalone.py
pypy/dist/pypy/translator/goal/translate.py
Log:
(pedronis, arre)
Added support for --jit to targetpypystandalone.py
Modified: pypy/dist/pypy/translator/driver.py
==============================================================================
--- pypy/dist/pypy/translator/driver.py (original)
+++ pypy/dist/pypy/translator/driver.py Mon Mar 19 17:18:07 2007
@@ -78,7 +78,7 @@
class TranslationDriver(SimpleTaskEngine):
- def __init__(self, setopts=None, default_goal=None, extra_goals=[],
+ def __init__(self, setopts=None, default_goal=None,
disable=[],
exe_name=None, extmod_name=None,
config=None, overrides=None):
@@ -109,7 +109,7 @@
default_goal = None
self.default_goal = default_goal
- self.extra_goals = extra_goals
+ self.extra_goals = []
self.exposed = []
# expose tasks
@@ -147,7 +147,10 @@
expose_task(explicit_task)
else:
expose_task(explicit_task)
-
+
+ def set_extra_goals(self, goals):
+ self.extra_goals = goals
+
def get_info(self): # XXX more?
d = {'backend': self.config.translation.backend}
return d
@@ -703,13 +706,12 @@
def from_targetspec(targetspec_dic, config=None, args=None,
empty_translator=None,
disable=[],
- default_goal=None,
- extra_goals=[]):
+ default_goal=None):
if args is None:
args = []
driver = TranslationDriver(config=config, default_goal=default_goal,
- extra_goals=extra_goals, disable=disable)
+ disable=disable)
# patch some attributes of the os module to make sure they
# have the same value on every platform.
backend, ts = driver.get_backend_and_type_system()
Modified: pypy/dist/pypy/translator/goal/targetpypystandalone.py
==============================================================================
--- pypy/dist/pypy/translator/goal/targetpypystandalone.py (original)
+++ pypy/dist/pypy/translator/goal/targetpypystandalone.py Mon Mar 19 17:18:07 2007
@@ -98,7 +98,7 @@
multimethod.Installer = multimethod.InstallerVersion1
def handle_translate_config(self, translateconfig):
- pass
+ self.translateconfig = translateconfig
def print_help(self, config):
self.opt_parser(config).print_help()
@@ -128,6 +128,11 @@
elif config.objspace.usemodules._stackless:
config.translation.stackless = True
+ if self.translateconfig.goal_options.jit:
+ config.objspace.usemodules.pypyjit = True
+ elif config.objspace.usemodules.pypyjit:
+ self.translateconfig.goal_options.jit = True
+
config.objspace.nofaking = True
config.objspace.compiler = "ast"
config.translating = True
@@ -143,6 +148,10 @@
return self.get_entry_point(config)
+ def portal(self, driver):
+ from pypy.module.pypyjit.portal import get_portal
+ return get_portal(driver)
+
def get_entry_point(self, config):
space = make_objspace(config)
@@ -164,7 +173,7 @@
def interface(self, ns):
for name in ['take_options', 'handle_config', 'print_help', 'target',
- 'handle_translate_config',
+ 'handle_translate_config', 'portal',
'get_additional_config_options']:
ns[name] = getattr(self, name)
Modified: pypy/dist/pypy/translator/goal/translate.py
==============================================================================
--- pypy/dist/pypy/translator/goal/translate.py (original)
+++ pypy/dist/pypy/translator/goal/translate.py Mon Mar 19 17:18:07 2007
@@ -260,16 +260,16 @@
pdb_plus_show.start(tb, server_setup, graphic=not translateconfig.text)
- log_config(translateconfig, "translate.py configuration")
- extra_goals = []
- if translateconfig.goal_options.jit:
- extra_goals.append('timeshift')
try:
drv = driver.TranslationDriver.from_targetspec(targetspec_dic, config, args,
empty_translator=t,
disable=translateconfig.skipped_goals,
- default_goal='compile',
- extra_goals=extra_goals)
+ default_goal='compile')
+ log_config(translateconfig, "translate.py configuration")
+ if translateconfig.goal_options.jit:
+ if 'portal' not in targetspec_dic:
+ raise Exception('target has no portal defined.')
+ drv.set_extra_goals(['timeshift'])
log_config(config.translation, "translation configuration")
pdb_plus_show.expose({'drv': drv, 'prof': prof})
More information about the Pypy-commit
mailing list