Recently there's been an announcement for an Open Source JVM sponsored by the Apache Foundation. The project is called Harmony. I've been following the mailing list, it's interesting to see the founding of such an open source project, and the topic (high perf VM) is appealing. Just following the links posted on the list I could find a lot of JVMs that I didn't know about and have a look at their source code.
That have inspired me to write the NekoVM, which is now almost complete as well as the corresponding compiler. I just need to add the exceptions and some missing primitives. It use the same architecture/technology that the MotionScriptVM I previously wrote, but performs more checks when loading the bytecode which enable :
- more aggresive optimizations, by inlining global or jump addresses directly into the code.</li>
- module-independent code : since all addresses are statically resolved at loading time, several modules can run and callback each other, which was not the case with MTSVM which needed an offline linking phase. This open the feature of dynloaded modules for Neko.
Next step is either to start NekoML (an ML compiler that generate to Neko) or to JIT to the NekoJM (using for example GNU Lightning Library).