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

load_constant() produces a wrong long constant, with high a low words swapped

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P1 P1
    • hs14
    • hs14
    • hotspot
    • b09
    • generic
    • generic

        C1 code generator refers to invalid T_LONG constant in case a similar constant with high and low words swapped is present.

        The test case:
          public static void main(String[] args) {
            long[] arr = {
              0x11111111aaaaaaaaL,
              0xaaaaaaaa11111111L,
              0x11111111aaaaaaaaL,
              0xaaaaaaaa11111111L
            };
            System.out.println(Long.toHexString(arr[1]));
          }
        The output is wrong (11111111aaaaaaaa) on SPARC and on ARM.

              never Tom Rodriguez
              apangin Andrei Pangin
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: