[pypy-svn] r18314 - in pypy/dist/pypy/translator/backendopt: . test

cfbolz at codespeak.net cfbolz at codespeak.net
Sun Oct 9 16:53:18 CEST 2005


Author: cfbolz
Date: Sun Oct  9 16:53:15 2005
New Revision: 18314

Modified:
   pypy/dist/pypy/translator/backendopt/inline.py
   pypy/dist/pypy/translator/backendopt/test/test_propagate.py
Log:
(cfbolz, arigo):
don't generate keepalive for constants and atomic structures. Fix the
(admittedly stupid) test in test_propagate.


Modified: pypy/dist/pypy/translator/backendopt/inline.py
==============================================================================
--- pypy/dist/pypy/translator/backendopt/inline.py	(original)
+++ pypy/dist/pypy/translator/backendopt/inline.py	Sun Oct  9 16:53:15 2005
@@ -133,6 +133,10 @@
     def generate_keepalive(vars):
         keepalive_ops = []
         for v in vars:
+            if isinstance(v, Constant):
+                continue
+            if v.concretetype._is_atomic():
+                continue
             v_keepalive = Variable()
             v_keepalive.concretetype = Void
             keepalive_ops.append(SpaceOperation('keepalive', [v], v_keepalive))

Modified: pypy/dist/pypy/translator/backendopt/test/test_propagate.py
==============================================================================
--- pypy/dist/pypy/translator/backendopt/test/test_propagate.py	(original)
+++ pypy/dist/pypy/translator/backendopt/test/test_propagate.py	Sun Oct  9 16:53:15 2005
@@ -82,7 +82,7 @@
     graph, t = get_graph(g, [int])
     partial_folding(graph, t)
     constant_folding(graph, t)
-    assert len(graph.startblock.operations) == 3
+    assert len(graph.startblock.operations) == 1
     check_graph(graph, [10], g(10), t)
 
 def getitem(l, i):  #LookupError, KeyError



More information about the Pypy-commit mailing list