Author: Armin Rigo <[email protected]>
Branch: remove-globals-in-jit
Changeset: r58893:b3a8d8a767d7
Date: 2012-11-14 16:19 +0100
http://bitbucket.org/pypy/pypy/changeset/b3a8d8a767d7/

Log:    Cancel the change to resoperation, which breaks things (it ignores
        'opnum'). Fix differently.

diff --git a/pypy/jit/metainterp/resoperation.py 
b/pypy/jit/metainterp/resoperation.py
--- a/pypy/jit/metainterp/resoperation.py
+++ b/pypy/jit/metainterp/resoperation.py
@@ -78,11 +78,7 @@
             result = self.result
         if descr is None:
             descr = self.getdescr()
-        newop = self.__class__(result)
-        newop.initarglist(args)
-        if descr is not None:
-            assert isinstance(newop, ResOpWithDescr)
-            newop.setdescr(descr)
+        newop = ResOperation(opnum, args, result, descr)
         return newop
 
     def clone(self):
diff --git a/pypy/jit/tool/oparser.py b/pypy/jit/tool/oparser.py
--- a/pypy/jit/tool/oparser.py
+++ b/pypy/jit/tool/oparser.py
@@ -42,6 +42,12 @@
         op.initarglist(self.getarglist()[:])
         return op
 
+    def copy_and_change(self, opnum, args=None, result=None, descr=None):
+        assert opnum == self.OPNUM
+        newop = FORCE_SPILL(result or self.result)
+        newop.initarglist(args or self.getarglist())
+        return newop
+
 
 def default_fail_descr(model, fail_args=None):
     return model.BasicFailDescr()
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to