Author: Armin Rigo <[email protected]> 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. _______________________________________________ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
