[pypy-svn] rev 2124 - pypy/trunk/src/pypy/translator
sanxiyn at codespeak.net
sanxiyn at codespeak.net
Thu Oct 30 17:34:40 CET 2003
Author: sanxiyn
Date: Thu Oct 30 17:34:39 2003
New Revision: 2124
Modified:
pypy/trunk/src/pypy/translator/annotation.py
pypy/trunk/src/pypy/translator/transform.py
Log:
block.operations was a tuple, to make sure FlowObjSpace doesn't
try to add operations after it "closed" a block. (Armin)
But after the latest flowmodel refactoring, this idea is dropped,
so now they shall be just a list. Thus this fix.
Modified: pypy/trunk/src/pypy/translator/annotation.py
==============================================================================
--- pypy/trunk/src/pypy/translator/annotation.py (original)
+++ pypy/trunk/src/pypy/translator/annotation.py Thu Oct 30 17:34:39 2003
@@ -60,7 +60,7 @@
op = SpaceOperation('simple_call', args_w, op.result)
# XXX check that w_kwargs is empty
newops.append(op)
- block.operations = tuple(newops)
+ block.operations = newops
def simplify(self):
self.simplify_calls()
Modified: pypy/trunk/src/pypy/translator/transform.py
==============================================================================
--- pypy/trunk/src/pypy/translator/transform.py (original)
+++ pypy/trunk/src/pypy/translator/transform.py Thu Oct 30 17:34:39 2003
@@ -7,7 +7,7 @@
def transform_allocate(self):
for block, ann in self.annotated.iteritems():
- operations = block.operations
+ operations = block.operations[:]
n_op = len(operations)
for i in range(0, n_op-1):
op1 = operations[i]
@@ -20,13 +20,11 @@
new_op = SpaceOperation('alloc_and_set',
(op2.args[1], op1.args[0]),
op2.result)
- block.operations = (operations[:i] +
- (new_op,) +
- operations[i+2:])
+ block.operations[i:i+2] = [new_op]
def transform_slice(self):
for block, ann in self.annotated.iteritems():
- operations = block.operations
+ operations = block.operations[:]
n_op = len(operations)
for i in range(0, n_op-1):
op1 = operations[i]
@@ -38,9 +36,7 @@
new_op = SpaceOperation('getslice',
(op2.args[0], op1.args[0], op1.args[1]),
op2.result)
- block.operations = (operations[:i] +
- (new_op,) +
- operations[i+2:])
+ block.operations[i:i+2] = [new_op]
def transform_graph(ann):
transform_allocate(ann)
More information about the Pypy-commit
mailing list