[kaffe] New application-level x86 virtual machine

Bryan Ford baford at mit.edu
Thu Dec 22 10:52:04 PST 2005

Hi folks, I hope this announcement might be of interest to some of you as 
being related to and in some respects complementary to Kaffe. 
I've just released the first (very experimental) version of VX32, a new 
x86-based application-level virtual environment. Unlike most x86-based virtual 
machines such as QEMU and plex86, however, VX32 is more comparable in 
function to Kaffe and other Java or CLR virtual machines.  VX32 only 
implements the user-mode portion of the x86 architecture rather than 
emulating a whole machine including devices, and is intended for use by 
applications to create lightweight, highly controllable execution 
environments for safe application plug-ins and the like, rather than for 
running whole operating systems. VX32 might be especially appropriate for 
safely running Unix filter-like applications such as compressors, 
decompressors, crypto software, or transcoders, where the legacy code bases 
you often want to re-use are already written in C or other non-typesafe 
languages.  VX32 could also potentially provide the basis for a "safe native 
method" facility for Kaffe and other Java VMs, if there is interest.
VX32 uses dynamic code rewriting techniques to sandbox guest code efficiently 
on x86 host processors, typically costing less than 15% slowdown versus 
native x86-32 execution. I'm also working on instruction set emulation and 
binary translation to make the environment portable to other host 
architectures, but of course I don't expect it to perform as well in such 
The VX32 home page, including the first source release, is here: 
The home page for VXA (Virtual eXecutable Archives), a related project that 
uses VX32 to turn ZIP files into "active archvies", is here: 
Finally, a paper that discusses both VX32 and VXA can be found here: 
I would appreciate any comments and feedback. Thanks for your time!

More information about the kaffe mailing list