[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