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

Expand on supports_cx8 to have supports_atomic_long_ops

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P4
    • Resolution: Not an Issue
    • Affects Version/s: hs20
    • Fix Version/s: hs25
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • CPU:
      generic
    • OS:
      generic

      Description

      The VM uses supports_cx8 (named from the x86 cmpxchg8 operation that allows 64-bit CAS on 32-bit systems) as a proxy for "supports atomic 64-bit operations on Java longs". In addition to being used for compare-and-set operations on Java longs, it is also used within unsafe.cpp to control atomic load/store of Java longs.

      The recent fix of 7009756 correctly implemented the atomic load/store aspects of this for the case where supports_cx8 is true and it was proposed to change the test from supports_cx8 to a more specific supports_atomic_<type>_ops, as it was pointed out that platforms can support 64-bit load/store even if they don't support 64-bit CAS. However due to timing constraints with the HS20 schedule it was not feasible to make that change at that time.

      This CR now proposes to clean up the current code by defining the necessary supports_atomic_XXX_ops and in the process remove the CPU-based ifdefs that were put in.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                dholmes David Holmes
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: