[pypy-dev] Pypy custom interpreter JIT question

Armin Rigo arigo at tunes.org
Tue Mar 22 22:54:33 CET 2011


Hi Andrew,

On Tue, Mar 22, 2011 at 8:44 PM, Andrew Brown <brownan at gmail.com> wrote:
> https://bitbucket.org/brownan/bf-interpreter/src/c4679b354313/targetbf.py

can_enter_jit() is not correct.  For it to work, it must be called
just before jit_merge_point().  It's wrong that there are two
intermediate instructions here: "pc+=1" and the "pc < len(program)"
condition.

As a first attempt, you should just not call can_enter_jit() at all.
Nowadays, if can_enter_jit is never called, it's done automatically
for you; moreover, a misplaced can_enter_jit can give nonsensical
results, as opposed to many other hints, which cannot give a result
worst than terribly bad performance (like the greens/reds variable
separation --- which seems correct in your example).


A bientôt,

Armin.



More information about the Pypy-dev mailing list