[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