Stefano Mazzocchi wrote:
(DREAM WARNING) Personally, I wouldn't mind seeing a hybrid
SableVM/JikesRVM where bootstrap happens in C (no complex platform
dependent image generation process), but adaptive compilation happens in
Java...

Boy, that would be indeed sweet.

As long as you have an interpreter written in C (which we do) then
this is fairly easy:

  0. Start out interpreting everything
  1. Adaptively compile as you see fit
  2. Switch over dispatch of compiled methods from interpreter
     to their compiled code.

This is sortof how the original JCVM worked except the compilation happened
before execution and/or during runtime "dumbly" (it compiled every
method, not just "hot" ones, and was pretty slow in doing so).

Then its also possible to accumulate a filesystem cache of compiled
method code, as JCVM did (using ELF objects). Not sure if this is really
worth it or not, as you'd have to record lots of dependencies, and only
makes sense if the JIT/compile operation is fairly slow.

-Archie

__________________________________________________________________________
Archie Cobbs      *        CTO, Awarix        *      http://www.awarix.com

Reply via email to