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

Crash in OopFlow::build_oop_map: incorrect comparison of 64bit pointers

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b02
    • CPU:
      x86, sparc
    • OS:
      linux_redhat_5.2, solaris, solaris_10
    • Verification:
      Verified

      Backports

        Description

        When defining a Dict you specify the compare and hash functions and Dict provides a couple useful default. In particular for pointers it provides this:

        // Slimey cheap key comparator.
        int32 cmpkey(const void *key1, const void *key2) {
          return (int32)((intptr_t)key1 - (intptr_t)key2);
        }

        Unforturnately in 64-bit mode this throws away the high 32 bits of the pointer.

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                never Tom Rodriguez
                Reporter:
                dsamersoff Dmitriy Samersoff
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: