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

Reply via email to