SableVM


SableVM was a clean room implementation of Java bytecode interpreter implementing the Java virtual machine specification, second edition. SableVM was designed to be a robust, extremely portable, efficient, and fully specifications-compliant Java Virtual Machine that would be easy to maintain and to extend. It is now no longer being maintained.
The implementation was a part of the effort in the early 2000s to break the Java ecosystem free from Sun Microsystems's control.

Overview

The core engine is an interpreter which used ground-breaking techniques to deliver performance that can approach that of a "naive" just-in-time compiler, while retaining the software engineering advantages of interpreters: portability, maintainability and simplicity. This simplicity makes SableVM's source code very accessible and easy to understand for new users/programmers.
SableVM is Free Software — it is licensed under the GNU Lesser General Public License. It also makes use of GNU Classpath which is licensed under the GNU General Public License with linking exception.
SableVM is the first open-source virtual machine for Java to include the support for JVMDI and JDWP. These standard Java debugging interfaces are used for example by Eclipse to provide a rich and user-friendly Java development environment.

Java Intermediate Language

Some versions of the SableVM use Java Intermediate Language, an intermediate language representing the type structure of a Java program. The language was proposed by the team of SableVM in McGill University in January 2002 to aid the analysis of a Java program with the goals of scalability and good performance. The language has not been widely adopted.
Consider the following piece of Java code.

public MyClass implements MyInterface extends MySupperClass

This piece can be expressed in the language, as follows:





















$r2 = $r0 + $r1;
this.MyField = $r2;
>