[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