Author: Maciej Fijalkowski <fij...@gmail.com>
Branch: kill-gen-store-back-in
Changeset: r65327:d529882ed496
Date: 2013-07-10 23:00 +0200
http://bitbucket.org/pypy/pypy/changeset/d529882ed496/

Log:    Actually use the hint we developed

diff --git a/pypy/interpreter/generator.py b/pypy/interpreter/generator.py
--- a/pypy/interpreter/generator.py
+++ b/pypy/interpreter/generator.py
@@ -95,6 +95,7 @@
                 self.frame = None
                 raise OperationError(space.w_StopIteration, space.w_None)
             else:
+                jit.hint(frame, force_virtualizable=True)
                 return w_result     # YIELDed
         finally:
             frame.f_backref = jit.vref_None
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
@@ -2521,7 +2521,9 @@
             # xxx only write back the fields really modified
             vbox = self.virtualizable_boxes[-1]
             if vbox is not box:
-                return # ignore the hint on non-standard virtualizable
+                # ignore the hint on non-standard virtualizable
+                # specifically, ignore it on a virtual
+                return
             for i in range(vinfo.num_static_extra_boxes):
                 fieldbox = self.virtualizable_boxes[i]
                 descr = vinfo.static_field_descrs[i]
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to