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

Use MacroAssembler::cmpoop() consistently when comparing heap objects

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 10
    • Fix Version/s: 10
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b31
    • CPU:
      x86
    • OS:
      generic

      Description

      Current, cmpoop() is only declared for 32-bit x86, and only used in 2 places in C1 to compare oops. In other places, oops are compared using cmpptr(). It would be useful to distinguish normal pointer comparisons from heap object comparisons, and use cmpoop() consistently for heap object comparisons. This would remove clutter in several places where we #ifdef _LP64 around comparisons, and would also allow to insert necessary barriers for GCs that need them (e.g. Shenandoah) later.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rkennke Roman Kennke
                Reporter:
                rkennke Roman Kennke
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: