[pypy-svn] r16576 - pypy/dist/pypy/translator/goal
tismer at codespeak.net
tismer at codespeak.net
Fri Aug 26 11:40:45 CEST 2005
Author: tismer
Date: Fri Aug 26 11:40:43 2005
New Revision: 16576
Modified:
pypy/dist/pypy/translator/goal/targetpypymain.py
pypy/dist/pypy/translator/goal/targetpypystandalone.py
pypy/dist/pypy/translator/goal/targetrichards.py
pypy/dist/pypy/translator/goal/targetrpystonex.py
pypy/dist/pypy/translator/goal/targetsegfault.py
pypy/dist/pypy/translator/goal/translate_pypy.py
Log:
added a new translation option "-laptop"
this saves a lot of memory, by disabling geninterplevel
Modified: pypy/dist/pypy/translator/goal/targetpypymain.py
==============================================================================
--- pypy/dist/pypy/translator/goal/targetpypymain.py (original)
+++ pypy/dist/pypy/translator/goal/targetpypymain.py Fri Aug 26 11:40:43 2005
@@ -49,18 +49,15 @@
# _____ Define and setup target ___
-def target():
+def target(geninterp=True):
global space, w_entry_point
# disable translation of the whole of classobjinterp.py
StdObjSpace.setup_old_style_classes = lambda self: None
- # disable geninterp for now -- we have faaar toooo much interp-level code
- # for the poor translator already
- # XXX why can't I enable this? crashes the annotator!
space = StdObjSpace(nofaking=True,
compiler="pyparseapp",
translating=True,
- #usemodules=['marhsal', '_sre'],
- geninterp=False)
+ #usemodules=['marshal', '_sre'],
+ geninterp=geninterp)
# manually imports app_main.py
filename = os.path.join(this_dir, 'app_main.py')
Modified: pypy/dist/pypy/translator/goal/targetpypystandalone.py
==============================================================================
--- pypy/dist/pypy/translator/goal/targetpypystandalone.py (original)
+++ pypy/dist/pypy/translator/goal/targetpypystandalone.py Fri Aug 26 11:40:43 2005
@@ -44,19 +44,15 @@
# _____ Define and setup target ___
-def target():
+def target(geninterp=True):
global space, w_entry_point
# disable translation of the whole of classobjinterp.py
StdObjSpace.setup_old_style_classes = lambda self: None
- # disable geninterp for now -- we have faaar toooo much interp-level code
- # for the poor translator already
- # XXX why can't I enable this? crashes the annotator!
space = StdObjSpace(nofaking=True,
compiler="pyparseapp",
translating=True,
- #usemodules=['marhsal', '_sre'],
- geninterp=True)
-
+ #usemodules=['marshal', '_sre'],
+ geninterp=geninterp)
# manually imports app_main.py
filename = os.path.join(this_dir, 'app_main.py')
w_dict = space.newdict([])
Modified: pypy/dist/pypy/translator/goal/targetrichards.py
==============================================================================
--- pypy/dist/pypy/translator/goal/targetrichards.py (original)
+++ pypy/dist/pypy/translator/goal/targetrichards.py Fri Aug 26 11:40:43 2005
@@ -4,7 +4,7 @@
# _____ Define and setup target ___
-def target():
+def target(*args):
return entry_point, []
def get_llinterp_args():
Modified: pypy/dist/pypy/translator/goal/targetrpystonex.py
==============================================================================
--- pypy/dist/pypy/translator/goal/targetrpystonex.py (original)
+++ pypy/dist/pypy/translator/goal/targetrpystonex.py Fri Aug 26 11:40:43 2005
@@ -18,7 +18,7 @@
g.PtrGlbNext = None
return rpystone.pystones(loops), id(g)
- def target():
+ def target(*args):
return entry_point, [int]
def run(c_entry_point):
Modified: pypy/dist/pypy/translator/goal/targetsegfault.py
==============================================================================
--- pypy/dist/pypy/translator/goal/targetsegfault.py (original)
+++ pypy/dist/pypy/translator/goal/targetsegfault.py Fri Aug 26 11:40:43 2005
@@ -4,7 +4,7 @@
def entry_point(i):
return getitem([i, 2, 3, 4], 2) + getitem(None, i)
-def target():
+def target(*args):
return entry_point, [int]
def get_llinterp_args():
Modified: pypy/dist/pypy/translator/goal/translate_pypy.py
==============================================================================
--- pypy/dist/pypy/translator/goal/translate_pypy.py (original)
+++ pypy/dist/pypy/translator/goal/translate_pypy.py Fri Aug 26 11:40:43 2005
@@ -38,6 +38,12 @@
be either .py or .zip .
-llinterpret
interprets the flow graph after rtyping it
+ -laptop try to save as much memory as possible, since laptops tend to
+ have less than a gigabyte of memory (512 MB is typical).
+ Currently, we avoid to use geninterplevel, which creates a lot
+ of extra blocks, but gains only som 10-20 % of speed, because
+ we are still lacking annotation of applevel code.
+ -batch don't use interactive helpers,like pdb
"""
import autopath, sys, os
@@ -101,7 +107,7 @@
policy = AnnotatorPolicy()
if target:
- spec = target()
+ spec = target(not options['-laptop'])
try:
entry_point, inputtypes, policy = spec
except ValueError:
@@ -352,6 +358,7 @@
'-fork': False,
'-fork2': False,
'-llinterpret': False,
+ '-laptop': False,
'-batch': False,
}
listen_port = None
More information about the Pypy-commit
mailing list