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