[pypy-svn] r77195 - pypy/trunk/pypy/translator
arigo at codespeak.net
arigo at codespeak.net
Mon Sep 20 12:17:39 CEST 2010
Author: arigo
Date: Mon Sep 20 12:17:38 2010
New Revision: 77195
Modified:
pypy/trunk/pypy/translator/exceptiontransform.py
Log:
Fix, as shown by test_transformed_gc.TestMarkCompactGC.test_llinterp_dict.
Modified: pypy/trunk/pypy/translator/exceptiontransform.py
==============================================================================
--- pypy/trunk/pypy/translator/exceptiontransform.py (original)
+++ pypy/trunk/pypy/translator/exceptiontransform.py Mon Sep 20 12:17:38 2010
@@ -277,7 +277,9 @@
block.exits[0].target is graph.returnblock and
len(block.operations) and
(block.exits[0].args[0].concretetype is lltype.Void or
- block.exits[0].args[0] is block.operations[-1].result)):
+ block.exits[0].args[0] is block.operations[-1].result) and
+ block.operations[-1].opname not in ('malloc', # special cases
+ 'malloc_nonmovable')):
last_operation -= 1
lastblock = block
for i in range(last_operation, -1, -1):
@@ -466,6 +468,9 @@
c_flags = spaceop.args[1]
c_flags.value = c_flags.value.copy()
spaceop.args[1].value['zero'] = True
+ # NB. when inserting more special-cases here, keep in mind that
+ # you also need to list the opnames in transform_block()
+ # (see "special cases")
if insert_zeroing_op:
if normalafterblock is None:
More information about the Pypy-commit
mailing list