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

Missing load acquire when checking if ConstantPoolCacheEntry is resolved

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b96
    • CPU:
      aarch64
    • OS:
      generic

      Description

      In InterpreterMacroAssembler::get_cache_and_index_and_bytecode_at_bcp, rewrite bytecode in ConstantPoolCacheEntry._indices is read with ldrw. Following loads (for example ConstantPoolCacheEntry._flags and field offset) might finish before ConstantPoolCacheEntry._indices load and get unexpected values. ConstantPoolCacheEntry._indices is read and write with load acquire and store release in all other places. It also need load acquire here to guarantee read correct field offset and flags from ConstantPoolCacheEntry.

        Attachments

          Activity

            People

            • Assignee:
              hshi Hui Shi
              Reporter:
              hshi Hui Shi
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: