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

[ppc64] Wrong oop compare in C1-generated code

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b14
    • CPU:
      ppc

      Backports

        Description

        The C1 generated code for comparing two oops erroneously emits a 32-bit instead of an 64-bit compare instruction. Because oops are only compared for equality/inequality, this bug only becomes manifests for oops which are equal in their 32 least-significant bits but unequal otherwise. This means the two oops have to be exactly 4GB apart from each other in the heap or their 32 least significant bits have to be zero when compared to 'null'.

        This makes the occurrence of this bug extremely unlikely, but when it happens, the consequences are usually a semantically wrong program execution and not a crash, which makes it very hard to detect.

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                simonis Volker Simonis
                Reporter:
                simonis Volker Simonis
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: