javavm
Taurus JavaVM Bug List
This page gives a list of the known bugs and issues (both open and fixed) in the Taurus Java Virtual Machine.

Open Bugs

NONE

Fixed Bugs

000001 Reported: 27/11/1999 Status: Fixed in 1.10
char type limited to 8-bits Version: All
Description:
The char type is restricted to 8-bits in the versions prior to 1.10, therefore Unicode characters are not supported.
000002 Reported: 27/11/1999 Status: Fixed in 1.03a
short and byte types incorrectly implemented Version: Before 1.03a
Instructions affected:
baload, bipush, saload (NYI), sipush, i2b, i2s
Description:
The short and byte types behave incorrectly when negative values are used. According to the spec, shorts and bytes should be sign-extended to fill the word before either being pushed onto the stack or placed in a local variable.
000003 Reported: 27/11/1999 Status: Fixed in 1.04a
float and double do not support NaN Version: Before 1.04a
Description:
None of the float or double operations currently support NaN. There is no difference in the implementation of dcmpl and dcmg or fcmpl and fcmpg.
000004 Reported: 27/11/1999 Status: Fixed in 1.03a
ddiv incorrectly implemented Version: Before 1.03a
Description:
The ddiv instruction can never raise an exception. This was incorrectly implemented, whereby dividing by zero would raise and exception, as per integer division.
000005 Reported: 27/11/1999 Status: Fixed in 1.03a
idiv incorrectly implemented Version: Before 1.03a
Description:
The idiv instruction has a special case when MIN_INT is divided by -1, which results in overflow, the result should by MIN_INT. Early Win32 releases crashed with "The exception Integer overflow. (0xc0000095) occured in the application at location...".
000006 Reported: 17/12/1999 Status: Fixed in 1.03a
Multi-dimension array not initialised Version: Before 1.03a
Description:
The multianewarray instruction is restricted to creating one- dimensional arrays only. No warning is given when multi-dimensional arrays are used. When a multi-dimensional array is accessed, a null-pointer exception occurs on access to the 2nd dimension of the array (i.e. the array object does not exist.
000007 Reported: 01/03/2002 Status: Fixed in 1.04a
Double.LongToDoubleBits() and Double.DoubleToLongBits() mis-implemented Version: Before 1.04a
Description:
These methods should be simple casts from one type to the other. They are use for direct access to the bits of doubles.
000008 Reported: 03/03/2002 Status: Fixed in 1.04a
Exception handler does not clear stack Version: Before 1.04a
Description:
According to the VM Spec. the exception handler should clear the stack of the method that caught the exception. The current implementation does not and we get a stack overrun.
000009 Reported: 05/03/2002 Status: Fixed in 1.04a
ldc2_w mis-implemented Version: Before 1.04a
Description:
ldc2_w loads double values for NaN, +Inf and -Inf onto the stack incorrectly.
000010 Reported: 07/03/2002 Status: Fixed in 1.04a
multianewarray mis-implemented Version: Before 1.04a
Description:
multianewarray creates incorrectly dimensioned arrays. The dimensions are reversed from those specified.