FULL PRODUCT VERSION :
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
FULL OS VERSION :
Windows XP
A DESCRIPTION OF THE PROBLEM :
The following code normally wouldn't enter the if-condition with the System.out.println-statement. But after some loops (14668Loops on my PC)
it does !
It occures only with option -server . With -client everything seems to be ok.
THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: No
THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
please run the source above.
EXPECTED VERSUS ACTUAL BEHAVIOR :
No output is expected. But the code produces output.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
public class HotSpotError {
static public void main(String[] args) {
int i1 = 0;
int i2 = Integer.MAX_VALUE;
while (i1 >= 0) {
i1++;
if (i1 > i2) {
System.out.println("E R R O R: " + i1);
return;
}
}
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
use VM-option -client
###@###.### 2004-11-16 19:26:21 GMT
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
FULL OS VERSION :
Windows XP
A DESCRIPTION OF THE PROBLEM :
The following code normally wouldn't enter the if-condition with the System.out.println-statement. But after some loops (14668Loops on my PC)
it does !
It occures only with option -server . With -client everything seems to be ok.
THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: No
THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
please run the source above.
EXPECTED VERSUS ACTUAL BEHAVIOR :
No output is expected. But the code produces output.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
public class HotSpotError {
static public void main(String[] args) {
int i1 = 0;
int i2 = Integer.MAX_VALUE;
while (i1 >= 0) {
i1++;
if (i1 > i2) {
System.out.println("E R R O R: " + i1);
return;
}
}
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
use VM-option -client
###@###.### 2004-11-16 19:26:21 GMT
- duplicates
-
JDK-5091921 Sign flip issues in loop optimizer
-
- Closed
-
- relates to
-
JDK-5094936 Compiler generates wrong results (wrong loop optimization)
-
- Closed
-
-
JDK-6186134 Server virtual machine produces/exeutes incorrect code.
-
- Closed
-
-
JDK-6357214 Hotspot server compiler gets integer comparison wrong
-
- Closed
-