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

inefficient branch generation

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P5 P5
    • None
    • 0.9
    • tools
    • sparc
    • solaris_2.4

      From fy@pan Mon Mar 27 22:45 PST 1995
         
      For the purposes of my compiler, I was compiling the nonsense
      function at the bottom

      I noticed that the bytecodes produced included the following:

        90 iconst_0
        91 goto 94
        94 ifne 31

      and that there are no other references to "byte 94". So these three
      instructions do absolutely nothing

      Needless to say, the Sparc code faithfully reproduces the compiled code.

      Block #6
          001. 30800000 ba,a ... //branch #7#
      Block #7
          001. 80a00000 sub.cc %0, %0 => %0
          002. 12800000 bne ... //branch #2#
          003. 01000000 nop



      -- Frank


      class test {
          public static int foo() {
      int a = 10; int b = 20; int c = 30; int d = 40; int e = 50;
      baz(a, b, c, d, e);
      for (int i = 0; baz(b, c, d, e, a), i < 10; i = Math.abs(i)) {
      baz(c, d, e, a, b);
      if (i == 3) {
      baz(d, e, a, b, c);
      break;
      }
      baz(e, a, b, c, d);
      }
      baz(c, d, e, a, b);
      return 10;
          }

          public static void baz(int a, int b, int c, int d, int e) { }

      }

            fyellinsunw Frank Yellin (Inactive)
            ahoffsunw Arthur Hoff (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: