Hi Andrew, On Tue, Mar 22, 2011 at 8:44 PM, Andrew Brown <brownan@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.