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

fix for 6879921 was insufficient

XMLWordPrintable

    • b03
    • sparc
    • solaris_9
    • Verified

        6879921 fix a case where it the superword optimization was attempting to handle arrays of oops which we didn't allow. A guard was inserted in stmts_can_pack which fixed the original issue. Testing with bigapps has shown that there are other paths where this problem can manifest. In particular this pattern:

            public static void init(Object src[], boolean[] dst) {
                // initialize the arrays
                for (int i =0; i<src.length; i++) {
                    dst[i] = src[i] != null ? false : true;
                }
            }

        shows that are_adjacent_refs can be reached through est_savings, skipping the added is_java_primitive guard. The fix is to move the is_java_primitive into are_adjacent_refs to guard the data_size calls.

              never Tom Rodriguez
              never Tom Rodriguez
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: