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

[PPC64] C2: ReverseBytes + Load always match to unordered Load (acquire semantics missing)

XMLWordPrintable

    • b24
    • ppc
    • Verified

        Preliminary synopsis was: "PPC64 fails jcstress Unsafe (?) memory ordering tests due to C2 (?) bug"

        $ wget https://builds.shipilev.net/jcstress/jcstress-latest.jar
        $ curl https://builds.shipilev.net/openjdk-jdk/openjdk-jdk-latest-linux-ppc64le-fastdebug.tar.xz | tar xJf -
        $ jdk/bin/java -jar jcstress-latest.jar -t varHandles.byteBuffer.direct.*.acqrel.IntBooleanTest -m quick
        ...
          [FAILED] o.o.j.t.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntBooleanTest
            (JVM args: [-XX:-TieredCompilation])
            Observed state Occurrences Expectation Interpretation
          false, false, -1 210 FORBIDDEN Seeing previous writes, forbidden with proper guard.
           false, false, 0 156,172 ACCEPTABLE Default value for guard, allowed to see anything.
           false, true, -1 350 ACCEPTABLE Observing the value for guard, allowed to see latest value.
            false, true, 0 1,331 ACCEPTABLE Default value for guard, allowed to see anything.
           true, false, -1 0 FORBIDDEN Seeing previous writes, forbidden with proper guard.
            true, false, 0 0 ACCEPTABLE Default value for guard, allowed to see anything.
            true, true, -1 105,163 ACCEPTABLE Observing the value for guard, allowed to see latest value.
             true, true, 0 337 ACCEPTABLE Default value for guard, allowed to see anything.

        Seems to only happen with VarHandles bytebuffer view tests, only with C2 enabled, and maybe only with big-endian views on ppc64le machine. Or maybe we are just "lucky".

              mdoerr Martin Doerr
              shade Aleksey Shipilev
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: