Fastdebug server jvm (both 32bit and 64bit) run with -XX:+UseConcMarkSweepGC crashes with:
# Internal Error (/export0/BUILD_AREA/jdk6_18/hotspot/src/share/vm/opto/superword.cpp:465), pid=5023, tid=26
# Error: assert(out == prev || prev == 0,"no branches off of store slice")
#
The failure is reproduced on:
- solaris-i586, solaris-amd64
- solaris-sparc, solaris-sparcv9
No failure in case UseSuperWord is disabled (note, UseSuperWord is enabled by default).
The following testcase could be used to reproduce the failure:
======= Tester.java =======
public class Tester {
static byte var_1;
static String var_2 = "";
static byte var_3;
static float var_4 = 0;
public static void main(String[] args)
{
int i = 0;
for (String var_tmp = var_2; i < 11; var_1 = 0, i++)
{
var_2 = var_2;
var_4 *= (var_4 *= (var_3 = 0));
}
System.out.println("var_1 = " + var_1);
System.out.println("var_2 = " + var_2);
System.out.println("var_3 = " + var_3);
System.out.println("var_4 = " + var_4);
}
}