[racket-dev] JIT question

From: Jon Zeppieri (zeppieri at gmail.com)
Date: Tue May 7 17:29:52 EDT 2013

I realize that I should get a --disable-jit version running before
tackling this, but since I stumbled into it last night...

In jitinline.c, at line 1834, there is code for generating a JIT-ted
version of char->integer. I think I understand all of it, except for
line 1851:

1851: jit_movr_p(dest, JIT_R0);

If the initial test (at line 1846 succeeds, then we jump past this
instruction (although we might jump back later, if the type-tag test
(at 1853) fails (well, succeeds, I suppose). But, if we ever get to
the code at line 1849:

(void)jit_calli(sjc.bad_char_to_integer_code);

Then we're never going to return from there... I think. So, I'm not
sure what execution path the code could take where that move
instruction would matter. Also, assuming that instruction is
reachable, I still don't know what it's for.

Can anyone (probably Matthew) enlighten me?

-Jon

Posted on the dev mailing list.