C1 code generator refers to invalid T_LONG constant in case a similar constant with high and low words swapped is present.
The test case:
public static void main(String[] args) {
long[] arr = {
0x11111111aaaaaaaaL,
0xaaaaaaaa11111111L,
0x11111111aaaaaaaaL,
0xaaaaaaaa11111111L
};
System.out.println(Long.toHexString(arr[1]));
}
The output is wrong (11111111aaaaaaaa) on SPARC and on ARM.
|