[racket-dev] Another JIT question
My experiment with immediately represented characters has gotten to a
state where a non-JIT build passes all tests, but a JIT build fails
(as in, segfaults) on the following program:
#\c
It also fails on:
(integer->char 99)
and:
(define (foo x) (integer->char x))
(foo 99)
but not on:
(define (foo x) (write (integer->char x)))
(foo 99)
So there seems to be a problem returning a character from a jitted
function back to the repl. I haven't been able to figure out where
this occurs, though. gdb's stack traces don't seem very useful for
jitted code, and I can't use Sam's disassembler, because the process
dies.
Any idea where to look or what debugging tools might be useful?
-Jon