-
Bug
-
Resolution: Fixed
-
P2
-
hs13
-
b02
-
x86
-
solaris
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2173665 | 7 | Christian Thalinger | P2 | Closed | Fixed | b49 |
JDK-2180485 | 6u18 | Christian Thalinger | P2 | Closed | Fixed | b01 |
JDK-2173332 | 6u14 | Christian Thalinger | P2 | Resolved | Fixed | b02 |
JDK-2173333 | hs14 | Christian Thalinger | P2 | Closed | Fixed | b11 |
The following test case produces wrong results (var_bad) when
running jvm with 32bit server compiler on solaris-x86.
> JDK7b43/bin/java -server -Xcomp -XX:CompileOnly=TesterSmall_Class_0 TesterSmall
var_bad = -602947331
var_ok = 0
============ TesterSmall.java ==============
class TesterSmall_Class_0 {
static long var_bad = -1L;
public TesterSmall_Class_0()
{
var_bad >>= 65;
var_bad /= 65;
}
}
public class TesterSmall {
public static void main(String[] args)
{
TesterSmall_Class_0 t = new TesterSmall_Class_0();
long var_ok = -1L;
var_ok >>= 65;
var_ok /= 65;
System.out.println("var_bad = " + TesterSmall_Class_0.var_bad);
System.out.println("var_ok = " + var_ok);
}
}
=======================================
The test works fine on other platforms with bot 32bit and 64bit jvms.
running jvm with 32bit server compiler on solaris-x86.
> JDK7b43/bin/java -server -Xcomp -XX:CompileOnly=TesterSmall_Class_0 TesterSmall
var_bad = -602947331
var_ok = 0
============ TesterSmall.java ==============
class TesterSmall_Class_0 {
static long var_bad = -1L;
public TesterSmall_Class_0()
{
var_bad >>= 65;
var_bad /= 65;
}
}
public class TesterSmall {
public static void main(String[] args)
{
TesterSmall_Class_0 t = new TesterSmall_Class_0();
long var_ok = -1L;
var_ok >>= 65;
var_ok /= 65;
System.out.println("var_bad = " + TesterSmall_Class_0.var_bad);
System.out.println("var_ok = " + var_ok);
}
}
=======================================
The test works fine on other platforms with bot 32bit and 64bit jvms.
- backported by
-
JDK-2173332 32bit server compiler leads to wrong results on solaris-x86
- Resolved
-
JDK-2173333 32bit server compiler leads to wrong results on solaris-x86
- Closed
-
JDK-2173665 32bit server compiler leads to wrong results on solaris-x86
- Closed
-
JDK-2180485 32bit server compiler leads to wrong results on solaris-x86
- Closed