From: Steve Blackburn <[EMAIL PROTECTED]> > > [EMAIL PROTECTED] wrote: > > > >> The approach of using C Compiler generated code rather than writing a > >> full compiler appeals to me: > >> http://www.csc.uvic.ca/~csc586a/papers/ertlgregg04.pdf > >> > >> I am curious on how well the approach performs compared to existing > >> JITs.
> They automatically build themselves > simple JIT backends (by extracting fragments produced by the ahead of > time compiler). This sounds like a great way to achieve portability > while achiving better performance than a conventional interpreter. I guess it's a bit better or just comparable with a good interpreter. In 1998, I have written such a JIT compiler concatinate code fragments generated by GCC for each JVM instruction. Unfortunately, the JIT was slightly slower than an interpreter in Sun's Classic VM. The interpreter was written in x86 assembly language and implements dynamic stack caching with 2 registers and 3 states. It performs much better than the previous interpreter written in C. Then I rewrote the JIT. I am not very sure which is better for us, having a portable and so-so baseline compiler or a good interpreter which is possibly less portable than the compiler. There will be a trade off between memory consumption, portability and so on. Kazuyuki Shudo [EMAIL PROTECTED] http://www.shudo.net/