Matthew Flatt, lead developer of MzScheme (now PLT Scheme), told me in June 2008 that they were compiled to virtual machine code at one time, and in this case it is easy to write a virtual machine that makes the right tail calls. Now, however, the system is mature enough that on x86 they use a simple JIT. In any case, there are no trampolines - the guys at PLT Scheme know their business.
source share