-
Bug
-
Resolution: Duplicate
-
P4
-
None
-
1.1.6
-
x86
-
windows_nt
Name: tb29552 Date: 05/15/98
Another 1.1.6 jit problem. The following code runs perfectly under
every other jvm/jit (including 1.1.6 -nojit and the Symantec
VC 2.5 ji) I can find but fails under the jit enabled
jre 1.1.6. The program does some byte manipulation
(it is actually part of a MessageDigest algorithm).
I suspect the jit does some sort of symbolic
substitution which doesn't work.
I have read various other messages about stack overflow probs in jit
1.1.6, is there some sort of consensus as to it been buggy?
Eamonn
final public class oneonesix
{
private int [] message = new int[8];
private int a,b,c,d;
public final void first()
{
System.out.println(" Begining method ");
for(int i = 0; i < 8 ;i++) {
message[i] = i; }
a += b | (d & 0xFFFFFFFF);
a = (b + ((a << 1) + (a >>> 2))) & 0xFFFFFFFF;
d += a | (c & 0xFFFFFFFF);
d = (a + ((d << 1) + (d >>> 2))) & 0xFFFFFFFF;
c += d | (b & 0xFFFFFFFF);
c = (d + ((c << 1) + (c >>> 1))) & 0xFFFFFFFF;
b += c | (a & 0xFFFFFFFF);
b = (c + ((b << 1) + (b >>> 1))) & 0xFFFFFFFF;
a += b | (d & 0xFFFFFFFF);
a = (b + ((a << 1) + (a >>> 2))) & 0xFFFFFFFF;
d += a | (c & 0xFFFFFFFF);
d = (a + ((d << 1) + (d >>> 2))) & 0xFFFFFFFF;
c += d | (b & 0xFFFFFFFF);
c = (d + ((c << 1) + (c >>> 1))) & 0xFFFFFFFF;
b += c | (a & 0xFFFFFFFF);
b = (c + ((b << 1) + (b >>> 1))) & 0xFFFFFFFF;
a += b | (d & 0xFFFFFFFF);
a = (b + ((a << 1) + (a >>> 2))) & 0xFFFFFFFF;
d += a | (c & 0xFFFFFFFF);
System.out.println(" Finish of method");
}
public static void main(String args[])
{
System.out.println("Start");
oneonesix bug = new oneonesix();
bug.first();
System.out.println("Finished");
}
}
(Review ID: 30207)
======================================================================
- duplicates
-
JDK-4138047 jdk 1.1.6 jit causes runaway process exhausting virtual memory on win32
- Closed