(ref) unnecessary process_soft_ref_reconsider

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Fixed
    • Priority: P4
    • 18
    • Affects Version/s: 9
    • Component/s: hotspot
    • None
    • gc
    • b06
    • generic
    • generic

      I think ReferenceProcessor::process_soft_ref_reconsider (formerly known as process_phase1) is unnecessary. It seems like it shouldn't find anything, because of the similar policy-based test in ReferenceProcessor::discover_reference. And if it does find anything, the liveness analysis from the referent is executed with discovery disabled, which I think is wrong for what is being done by this phase. I think we do need to be performing discovery on references found by chasing through the referents of soft references that we choose by policy to keep alive.

      So I think this phase is presently an expensive nop, and should be deleted entirely, along with supporting infrastructure such as DiscoveredListIterator::make_active(), which I think is only used here.

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

              Created:
              Updated:
              Resolved: