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

Missing memory fences between memory allocation and refinement

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc
    • Resolved In Build:
      b150
    • CPU:
      generic
    • OS:
      generic

      Backports

        Description

        HeapRegion::oops_on_card_seq_iterate_careful begins with a block of code that intersects the allocated part of the region (based on top or scan_top) with the card region, and if empty exits early. It then tests the region for being young, exiting early if so. The is_young test is noted as needing to follow the check for allocation in the region, and notes that a newly allocated young region has its type set before top is set. However, there don't appear to be any memory barriers to enforce either ordering.

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                kbarrett Kim Barrett
                Reporter:
                kbarrett Kim Barrett
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: