[pypy-commit] pypy default: Document this restriction (for now).

arigo noreply at buildbot.pypy.org
Tue Feb 3 15:24:15 CET 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r75681:b06ed3201641
Date: 2015-02-03 15:23 +0100
http://bitbucket.org/pypy/pypy/changeset/b06ed3201641/

Log:	Document this restriction (for now).

diff --git a/rpython/doc/jit/virtualizable.rst b/rpython/doc/jit/virtualizable.rst
--- a/rpython/doc/jit/virtualizable.rst
+++ b/rpython/doc/jit/virtualizable.rst
@@ -66,3 +66,11 @@
   virtualizable survives for longer, you want to force it before returning.
   It's better to do it that way than by an external call some time later.
   It's done using ``jit.hint(frame, force_virtualizable=True)``
+
+* Your interpreter should have a local variable similar to ``frame``
+  above.  It must not be modified as long as it runs its
+  ``jit_merge_point`` loop, and in the loop it must be passed directly
+  to the ``jit_merge_point()`` and ``can_enter_jit()`` calls.  The JIT
+  generator is known to produce buggy code if you fetch the
+  virtualizable from somewhere every iteration, instead of reusing the
+  same unmodified local variable.


More information about the pypy-commit mailing list