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, short s and
byte s 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.
|
|