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
_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to