In src/vm/jit/i386/codegen.c, there are several sections with code for float conversions with are commented "XXX not thread safe!". This should be fixed. With SSE2 available, doing the conversion without requiring additional memory relatively easy. SSE2 even seems to be quite straight-forward to detect at runtime. Alternatively, and I wager this would be easier, just use BUILTIN functions. Probably, all that's needed would be a toggled feature flag in arch.h.