Cacaovm - Just-In-Time (JIT) Compiler

  •        0

cacaovm is a Java Virtual Machine (JVM) which uses Just-In-Time (JIT) compilation to execute Java methods natively. cacaovm uses GNU Classpath or OpenJDK or phoneME as Java runtime library. The cacaovm project started as a research JVM to explore new implementation techniques. The first version for the Alpha was released in February 1997 as a binary.

CACAO supports i386, x86_64, Alpha, ARM, MIPS 32/64, PowerPC 32/64, S390 architectures. CACAO is almost fully compliant with the Java Virtual Machine Specification. It has a complete byte code verifier that uses subtype constraints to guarantee type-safety without unnecessary loading. A tailored CACAO can be built by enabling or disabling couple of features to reduce executable size.

http://www.cacaojvm.org/

Tags
Implementation
License
Platform

   




Related Projects

Kaffe - Not Java


Kaffe is a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment.

GNU Classpath - Mother of most of the VM


GNU Classpath provides core class libraries for use with virtual machines and compilers for the java programming language. GNU Classpath 1.0 will be fully compatible with the 1.1 and 1.2 API specifications, in addition to having significant compatibility with the 1.3, 1.4, 1.5 and 1.6 APIs.

JC Virtual Machine - Converts Java to C


JC Virtual machine converts Java class files to C source code. It could also compiles with GCC and loads them with built-in ELF loader. Additional to that, JC provides a complete Java runtime with optimization to increase performance.

Harmony - Open Source Java SE


Apache Harmony is a modular Java runtime with class libraries and associated tools. One of the goals of the Harmony project is to create a design modular enough so that parts of the VM can be implemented in different languages. This project started in 2005 and it is under active development.

Java SE - Creator of Java


Java Standard Edition provides Java development kit and Runtime to develop and deploy Java programs. Developed by Sun and take over by Oracle. It has support for different environments like Desktop, Embedded, Web, Realtime etc.

Open JDK - Open Source implementation of Java


Open JDK is the open source implementation of Java platform. It has loads of sub projects like JDK6, JDK7, HotSpot, Graphics, Swing, Web etc.

IKVM.NET - Java for Mono and .NET Framework


IKVM.NET is an implementation of Java for Mono and the Microsoft .NET Framework. It has JVM implemented in .NET. A .NET implementation of Java class libraries. It is interoperable between Java and .NET.

Kaffe


Kaffe is a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment.

Hydrogen - A basic process virtual machine


A simple [register based](http://markfaction.wordpress.com/2012/07/15/stack-based-vs-register-based-virtual-machine-architecture-and-the-dalvik-vm/) [process virtual machine](http://stackoverflow.com/questions/22477128/difference-between-process-virtual-machine-with-system-virtual-machine) which is written in C/C++. It uses its own dialect of assembly and is designed to work on OSX x86_64 systems. It is intended to be used with the Giraffe Programming language but can be used with others.

malbolge-vm - Malbolge virtual machine and interpreter.


Malbolge virtual machine and interpreter.

mini-vm - A small, register-based virtual machine (bytecode interpreter) in C.


A small, register-based virtual machine (bytecode interpreter) in C.

Small Deterministic D Embedded Assembler Register Machine


SIDEARM is a minimal, virtual register machine that acts as an interpreter/shell for valid AVR assembly language execution in real-time by the virtual machine.

HHVM - HipHop Virtual Machine for PHP


HHVM (aka the HipHop Virtual Machine) is a new open-source virtual machine designed for executing programs written in PHP. HHVM uses a just-in-time compilation approach to achieve superior performance while maintaining the flexibility that PHP developers are accustomed to.

Jikes RVM


Jikes RVM is a flexible infrastructure for virtual machine research

UCSD p-System Virtual Machine


The ucsd-psystem-vm project is a portable virtual machine (p-code interpreter) for the UCSD p-System. It supports execution of Apple ][ Pascal programs, it can even display TurtleGraphics using X11.

Mininet - An Instant Virtual Network on your Laptop (or other PC)


Mininet emulates a complete network of hosts, links, and switches on a single machine. It creates a realistic virtual network, running real kernel, switch and application code, on a single machine (VM, cloud or native), in seconds, with a single command.

programming-for-the-jvm - Code for book Programming for the Java Virtual Machine by Joshua Engel


Code for book Programming for the Java Virtual Machine by Joshua Engel

astateful-vm - vm is a c++ implementation of a virtual machine for executing the astateful language.


vm is a c++ implementation of a virtual machine for executing the astateful language.

C-machine - C like interpreter language utilizing a simple virtual machine


C like interpreter language utilizing a simple virtual machine

Waba Virtual Machine


A small, efficient and reliable java virtual machine aimed at portable devices (but also runnable on desktop computers), initially written by Rick Wild of Wabasoft. This account is for the development of the VM core and the associated core java packages.