SableVM 1.12 review

Download
by rbytes.net on

SableVM is a robust, extremely portable, efficient, and specifications-compliant Java virtual machine that aims to be easy to maintai

License: LGPL (GNU Lesser General Public License)
File size: 0K
Developer: Etienne M. Gagnon
0 stars award from rbytes.net

SableVM is a robust, extremely portable, efficient, and specifications-compliant Java virtual machine that aims to be easy to maintain and to extend.

It features a state-of-the-art and efficient interpreter engine. Its source code is very accessible and easy to understand. It also has many robustness features that have been the object of careful design.

SableVM is a clean-room implementation of the publicly available specifications.

Here are some key features of "SableVM":
Clean code, with minimal duplication, thanks to a set of easy-to-use indent-friendly m4 macros.
Modularity, making it ideal for research into different implementations of VM components.
Standards compliance (C, POSIX, JVM, JNI, JLS).
Three different interpreter engines, of which the basic switch interpreter is perfect for debugging, and the inlined-threaded interpreter is competitively fast. See [Execution Engines]?.
A nice development environment, thanks to the above features. New contributors can start grokking it easily.
Use of the latest GNU Classpath. We frequently synchronize with the GNU Classpath CVS.
Portability (record time is 1 hour for a new port).
Permissive LGPL license.
A retargettable just-in-time compiler, SableJIT, which currently runs on ppc, x86, and sparc. The initial implementation is almost ready.
Proper implementation of the invocation interface, which makes it possible to execute Java code from an application written in a different language. SableVM was designed so that extending it to follow the full specifications is straightforward, and allows for many virtual machines to be created, run, and destroyed within a single process (still not fully complete). This is something that the official Sun implementation does not provide.

SableVM 1.12 keywords