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

Prepare ciReceiverTypeData::translate_receiver_data_from for concurrent class unloading

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 12
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
      gc
    • Resolved In Build:
      b11

      Description

      When concurrently unloading classes, it is possible for MDOs to have stale metadata entries in them until the GC comes around to clean it up. That is fine, but there is one place where care needs to be taken; when the compiler interface fetches ReceiverTypeData. This is done by memcpy:ing the ReceiverTypeData to a new memory buffer, and walking the metadata, patching it with corresponding ci metadata classes in the new buffer. The metadata could be stale by now. In such scenarios, the rows should be lazily cleaned.

        Attachments

          Activity

            People

            • Assignee:
              eosterlund Erik Ă–sterlund
              Reporter:
              eosterlund Erik Ă–sterlund
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: