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

Remove ParallelGC non-CAS oldgen allocation

    XMLWordPrintable

Details

    • gc
    • b07

    Description

      ParallelGC oldgen allocation has both CAS-based and non-CAS-based implementations. The CAS-based allocations are used in places where concurrency is possible (and performance matters). The non-CAS variants are used where there isn't any concurrency, due to locking or being in a known single-threaded state (called from the VMThread in a safepoint).

      Obviously these can't be mixed; one can't be using the CAS and non-CAS variants concurrently. There doesn't appear to be any such concurrent uses. However, the potential for problems requires one to be aware of, and perhaps investigate the possibility when debugging.

      It would be simpler to just have the CAS variants and use them always. The non-CAS variants are not used in performace-critical places, so an unneeded CAS on those paths doesn't matter.

      Attachments

        Issue Links

          Activity

            People

              kbarrett Kim Barrett
              kbarrett Kim Barrett
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: