Author: fijal
Branch: jit-leaner-frontend
Changeset: r83320:26aeb872ebe0
Date: 2016-03-24 18:06 +0200
http://bitbucket.org/pypy/pypy/changeset/26aeb872ebe0/

Log:    since we never allocate resops in the frontend, try a bit harder to
        have less copies

diff --git a/rpython/jit/metainterp/optimizeopt/info.py 
b/rpython/jit/metainterp/optimizeopt/info.py
--- a/rpython/jit/metainterp/optimizeopt/info.py
+++ b/rpython/jit/metainterp/optimizeopt/info.py
@@ -144,7 +144,8 @@
             op.set_forwarded(None)
             optforce.emit_operation(op)
             newop = optforce.getlastop()
-            op.set_forwarded(newop)
+            if newop is not op:
+                op.set_forwarded(newop)
             newop.set_forwarded(self)
             descr = self.descr
             self._is_virtual = False
diff --git a/rpython/jit/metainterp/optimizeopt/optimizer.py 
b/rpython/jit/metainterp/optimizeopt/optimizer.py
--- a/rpython/jit/metainterp/optimizeopt/optimizer.py
+++ b/rpython/jit/metainterp/optimizeopt/optimizer.py
@@ -563,7 +563,7 @@
             return # can happen e.g. if we postpone the operation that becomes
             # constant
         # XXX kill, requires thinking
-        op = self.replace_op_with(op, op.opnum)
+        #op = self.replace_op_with(op, op.opnum)
         for i in range(op.numargs()):
             arg = self.force_box(op.getarg(i))
             op.setarg(i, arg)
@@ -592,7 +592,7 @@
         self._newoperations.append(op)
 
     def emit_guard_operation(self, op, pendingfields):
-        guard_op = self.replace_op_with(op, op.getopnum())
+        guard_op = op # self.replace_op_with(op, op.getopnum())
         opnum = guard_op.getopnum()
         # If guard_(no)_exception is merged with another previous guard, then
         # it *should* be in "some_call;guard_not_forced;guard_(no)_exception".
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to