[pypy-svn] pypy default: no reason to make new functions every iteration
cfbolz
commits-noreply at bitbucket.org
Mon Apr 4 11:46:24 CEST 2011
Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch:
Changeset: r43130:d27b78a910eb
Date: 2011-04-01 21:57 +0200
http://bitbucket.org/pypy/pypy/changeset/d27b78a910eb/
Log: no reason to make new functions every iteration
diff --git a/pypy/objspace/flow/model.py b/pypy/objspace/flow/model.py
--- a/pypy/objspace/flow/model.py
+++ b/pypy/objspace/flow/model.py
@@ -497,6 +497,19 @@
assert block.operations == ()
assert block.exits == ()
+ def definevar(v, only_in_link=None):
+ assert isinstance(v, Variable)
+ assert v not in vars, "duplicate variable %r" % (v,)
+ assert v not in vars_previous_blocks, (
+ "variable %r used in more than one block" % (v,))
+ vars[v] = only_in_link
+
+ def usevar(v, in_link=None):
+ assert v in vars
+ if in_link is not None:
+ assert vars[v] is None or vars[v] is in_link
+
+
for block in graph.iterblocks():
assert bool(block.isstartblock) == (block is graph.startblock)
assert type(block.exits) is tuple, (
@@ -506,18 +519,6 @@
assert block in exitblocks
vars = {}
- def definevar(v, only_in_link=None):
- assert isinstance(v, Variable)
- assert v not in vars, "duplicate variable %r" % (v,)
- assert v not in vars_previous_blocks, (
- "variable %r used in more than one block" % (v,))
- vars[v] = only_in_link
-
- def usevar(v, in_link=None):
- assert v in vars
- if in_link is not None:
- assert vars[v] is None or vars[v] is in_link
-
for v in block.inputargs:
definevar(v)
More information about the Pypy-commit
mailing list