DeoptimizeALot causes fastdebug server jvm to fail with different assertions.
> java -server -Xcomp -XX:+DeoptimizeALot Tester11a
!!! Unschedulable graph !!!
B7 idom=B6 depth= 5 69 Region === 69 4 [[ 69 68 63 ]]
B10 idom=B8 depth= 6 48 MachProj === 7 [[ 47 5 57 63 ]] #1/unmatched !jvms: Tester11a::main @ bci:10
Failing node: 63 CreateException === 69 48 [[ 62 ]] java/lang/Throwable:NotNull * Oop:java/lang/Throwable:NotNull * !jvms: Tester11a::main @ bci:10
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/gcm.cpp:107
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/opto/gcm.cpp:107), pid=9833, tid=15
# Error: assert(false,"unscheduable graph")
Slightly modified version of Tester11a.java fails with:
> java -server -Xcomp -XX:+DeoptimizeALot Tester11b
# Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/opto/loopnode.hpp:638), pid=9865, tid=15
# Error: assert(n != 0,"Bad immediate dominator info.")
----- Tester11a.java -----
public class Tester11a
{
static long var_1 = 1L;
public static void main(String[] args) throws Exception
{
short var_2 = (byte) 1.0E10;
for ( Object temp = new byte[(byte)1.0E10]; true ;
var_2 = "1".equals("0") ? ((byte) var_1) : 1 )
{}
}
}
--------------------------
----- Tester11b.java -----
public class Tester11b
{
public static void main(String[] args) throws Exception
{
long var_1 = -1L;
short var_2 = (byte) 1.0E10;
for ( Object temp = new byte[(byte)1.0E10]; true ;
var_2 = "1".equals("0") ? ((byte) var_1) : 1 )
{}
}
}
--------------------------