Hi! >> * A uniform way to invoke native code from the VM, and VM code from >> native code -- *preserving tail calls*. This seems to require either >> trampolines within the VM or platform-specific tail-call assembly. > > This one could be hard. I can make JITed code call the VM as a tail > call, because libjit will generate tail calls if you ask it to, but I > don't see how to get from C code to JIT code without pushing onto the > stack without either some assembly code or a trampoline.
You could cheat and assume that the C compiler does TCO (GCC 4.x does). Thanks, Ludo’.