Author: Maciej Fijalkowski <[email protected]>
Branch: optresult
Changeset: r77836:c96f575bc6ce
Date: 2015-06-03 18:49 +0200
http://bitbucket.org/pypy/pypy/changeset/c96f575bc6ce/
Log: rpythonify
diff --git a/rpython/jit/metainterp/pyjitpl.py
b/rpython/jit/metainterp/pyjitpl.py
--- a/rpython/jit/metainterp/pyjitpl.py
+++ b/rpython/jit/metainterp/pyjitpl.py
@@ -838,9 +838,15 @@
# null, and the guard will be removed. So the fact that the field is
# quasi-immutable will have no effect, and instead it will work as a
# regular, probably virtual, structure.
- opnum = OpHelpers.getfield_for_descr(mutatefielddescr)
- mutatebox = self.execute_with_descr(opnum,
- mutatefielddescr, box)
+ if mutatefielddescr.is_pointer_field():
+ mutatebox = self.execute_with_descr(rop.GETFIELD_GC_R,
+ mutatefielddescr, box)
+ elif mutatefielddescr.is_float_field():
+ mutatebox = self.execute_with_descr(rop.GETFIELD_GC_R,
+ mutatefielddescr, box)
+ else:
+ mutatebox = self.execute_with_descr(rop.GETFIELD_GC_I,
+ mutatefielddescr, box)
if mutatebox.nonnull():
from rpython.jit.metainterp.quasiimmut import
do_force_quasi_immutable
do_force_quasi_immutable(self.metainterp.cpu, box.getref_base(),
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit