Using the HotSpot 1.3.1 sources pre-FCS b21, there seems to be
a problem in the in-line object allocation code that Compiler2
generates.
The problem is that for very large object sizes (array of 300M
bytes), on Solaris, the 'object start' plus 'object size' wraps
around, and the code generated by Compiler2 for inline object
allocation fails to handle this wraparound correctly. The code
that is generated seems to think allocation succeeded, and the
array initialization code then gets a SEGV.
The problem happens with both -XX:-UseTLE and -XX:+UseTLE.
To reproduce, unzip the attached .zip file and use this command
line:
java -server -XX:-BackgroundCompilation testorbId2
This variant also fails:
java -server -XX:-BackgroundCompilation -XX:-UseTLE testorbId2
The invocations:
java -server -Xint
java -client -XX:-BackgroundCompilation
yield the expected java.lang.OutOfMemoryError.
Name: abR10010 Date: 06/20/2001
================================================
Name: abR10010 Date: 06/21/2001
This bug also affects the following test from testbase_nsk:
nsk/regression/b4445592
Notice: We need this record to allow testbase_nsk automatically
exclude those tests which are already known to fail due
to some of the open bugs.
You may need testbase_nsk via the symbolic link:
/net/sqesvr.eng/export/vsn/VM/testbase/testbase_nsk
======================================================================
a problem in the in-line object allocation code that Compiler2
generates.
The problem is that for very large object sizes (array of 300M
bytes), on Solaris, the 'object start' plus 'object size' wraps
around, and the code generated by Compiler2 for inline object
allocation fails to handle this wraparound correctly. The code
that is generated seems to think allocation succeeded, and the
array initialization code then gets a SEGV.
The problem happens with both -XX:-UseTLE and -XX:+UseTLE.
To reproduce, unzip the attached .zip file and use this command
line:
java -server -XX:-BackgroundCompilation testorbId2
This variant also fails:
java -server -XX:-BackgroundCompilation -XX:-UseTLE testorbId2
The invocations:
java -server -Xint
java -client -XX:-BackgroundCompilation
yield the expected java.lang.OutOfMemoryError.
Name: abR10010 Date: 06/20/2001
================================================
Name: abR10010 Date: 06/21/2001
This bug also affects the following test from testbase_nsk:
nsk/regression/b4445592
Notice: We need this record to allow testbase_nsk automatically
exclude those tests which are already known to fail due
to some of the open bugs.
You may need testbase_nsk via the symbolic link:
/net/sqesvr.eng/export/vsn/VM/testbase/testbase_nsk
======================================================================