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

[ppc64] Wrong oop compare in C1-generated code

    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: