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

G1: alloc_purpose in copy_to_survivor_space() used incorrectly

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 8u20, 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc
    • Resolved In Build:
      b08

      Backports

        Description

        In G1ParScanThreadState::copy_to_survivor_space(), alloc_purpose is just seen as a hint to allocate(). E.g. a request for an allocation in survivor region might end up being an allocation in an old region (if we're out of survivor regions). However, the alloc_purpose flags is later also used (incorrectly) to determine where the object was actually allocated to 1) determine if the object age should be adjusted and 2) for undoing the allocation.

        After the object has been allocated the alloc_purpose flags should be updated to reflect the actual location of the object.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  pliden Per Liden
                  Reporter:
                  pliden Per Liden
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: