Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4138981

1.1.6 jit failure on byte manipulation

XMLWordPrintable



      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)
      ======================================================================

            dviswanasunw Deepa Viswanathan (Inactive)
            tbell Tim Bell
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: