javavm
Taurus JavaVM Status Page
This page gives a very brief outline of the current status of the virtual machine project as at:
22nd July 2004:

Platform Support
The following platforms are/will eventually be supported:

Platform Status
Intel 386, Windows 9x/ME/NT/2K/XP1.10
Intel 386, Linux1.10
Intel 386, Cygwin1.06 Alpha (1.10 shipping soon)
Acorn Archimedes/RISC PC, RISCOS1.10
Psion Series 5, EPOC32Under development
EPOC32 Release 5 (Emulator)1.10 (Source only)
EPOC32 Release 6 (Emulator)1.10 (Source only)
Intel x86, MS-DOS0.16 Alpha
Psion Series 3x, SIBO0.16 Alpha
3Com Palm Pilot, PalmOSPort under negotiation

Virtual Instruction Set
The following virtual instructions (by category) have been implemented (see instruction set page for more details):

Description Number Implemented Windows % EPOC16 %
Integer ops5757100%78.1%
Floating point ops4141100%0%
Objref ops1111100%100%
Array ops1616100%23.1%
Stack ops99100%33.3%
Type conversion ops1515100%16.7%
Branch ops2929100%65.4%
Method/Field ops88100%87.5%
Other1212100%41.7%
Total201201100%61.54%

Note: SIBO V0.16 excludes long, float and double instructions, as these cannot easily be supported on the SIBO platform.

Native Methods
The following JDK 1.1 native methods (by containing package) have been implemented:

Package name Native methods Implemented Percentage Library name
java.awt100.0%also sun.* in winawt
java.io523363.5% 
java.lang994242.4% 
java.lang.reflect4400.0% 
java.math1200.0% 
java.net2700.0%net
java.util100.0% 
java.util.zip2000.0%zip
Total2567529.3% 

Exceptions
The following exceptions types can be raised by the VM:

Description Supported
Java ExceptionsAll
Exceptions raised by VMInternalError, NullPointerException, ArrayIndexOutOfBoundsException, ArithmeticException, ClassCastException, ClassFormatError, NoSuchFieldError, NoSuchMethodError, ClassNotFoundException, VerifyError, NoClassDefFoundError, IOException
Exceptions not yet raised by VMIllegalAccessError

JNI
Partially implemented. JNI method signatures are used throughout, but the loading of DLLs is not supported.

AWT and Swing
Not implemented.

Garbage Collection
Not implemented. Allocated objects are recorded in a list, which is freed on exit.(list is dumped in verbose mode).

Threads
Not implemented. Alpha version is restricted to single thread only - one or two native methods are implemented.

JIT
Not implemented.

If you have any comments, suggestions, offers of help, or cash donations, please email me at