Author: Maciej Fijalkowski <[email protected]>
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
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit