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

Remove DiscoveredListIterator::update_discovered()

    Details

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

      Backports

        Description

        The DiscoveredListIterator::update_discovered() function calls the reference processor's _keep_alive function. This is to ensure that the elements in the discovered list are treated as live. However, the only way a reference object can be put on one of the reference processor's discovered set is to be found during liveness analysis, which means all elements of the set are necessarily live and marked as such.

        It used to be possible for reference object to be in discovered set to not be live according to the invoking collector mode. The situation where this could occur involved the use of clean_up_discovered_references, which went through the discovered set and removed inactive references and references with marked referents, leaving the rest. This function was used when transitioning between different collector modes (only by CMS, from failed concurrent to full mark sweep), and in the destination mode the marking mechanism might be different from that of the starting mode. However, this can no longer occur, because clean_up_discovered_references was removed by JDK-8066827.

        With the removal of clean_up_discovered_references it is no longer possible for a reference processor's discovered set to contain references that are not live, so there is no longer any need to call the _keep_alive function. So update_discovered and its calls can be eliminated.

          Attachments

            Issue Links

              Activity

                People

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

                  Dates

                  • Created:
                    Updated:
                    Resolved: