Author: Maciej Fijalkowski <[email protected]>
Branch: result-in-resops
Changeset: r57553:18d443ccaaa7
Date: 2012-09-23 21:48 +0200
http://bitbucket.org/pypy/pypy/changeset/18d443ccaaa7/

Log:    fix guard_value

diff --git a/pypy/jit/metainterp/optimizeopt/optimizer.py 
b/pypy/jit/metainterp/optimizeopt/optimizer.py
--- a/pypy/jit/metainterp/optimizeopt/optimizer.py
+++ b/pypy/jit/metainterp/optimizeopt/optimizer.py
@@ -1,6 +1,7 @@
 from pypy.jit.metainterp import jitprof, resume, compile
 from pypy.jit.metainterp.executor import execute_nonspec
-from pypy.jit.metainterp.resoperation import BoxInt, BoxFloat, REF, INT
+from pypy.jit.metainterp.resoperation import BoxInt, BoxFloat, REF, INT,\
+     create_resop_1
 from pypy.jit.metainterp.optimizeopt.intutils import IntBound, IntUnbounded, \
                                                      ImmutableIntUnbounded, \
                                                      IntLowerBound, MININT, 
MAXINT
@@ -630,13 +631,15 @@
                 # descr to the original rop.GUARD_VALUE.
                 constvalue = op.getarg(1).getint()
                 if constvalue == 0:
-                    opnum = rop.GUARD_FALSE
-                elif constvalue == 1:
-                    opnum = rop.GUARD_TRUE
+                    newop = create_resop_1(rop.GUARD_FALSE, None,
+                                           op.getarg(0))
+                elif constvalue == 1: 
+                    newop = create_resop_1(rop.GUARD_TRUE, None,
+                                           op.getarg(0))
                 else:
                     raise AssertionError("uh?")
-                newop = ResOperation(opnum, [op.getarg(0)], op.result, descr)
-                newop.setfailargs(op.getfailargs())
+                newop.set_extra("failargs", op.get_extra("failargs"))
+                self.replace(op, newop)
                 return newop
             else:
                 # a real GUARD_VALUE.  Make it use one counter per value.
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to