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

Optimize reference processing phases for G1 concurrent marking

XMLWordPrintable

    • gc

      Optimize the reference processing phases for Remark; some of the operations done are not required at all, just wasting time. ~kbarrett explains this:

      "For concurrent marking, except for finalize references (and soft references during phase1), keep_alive is an expensive nop; the call to deal_with_reference will call make_reference_grey, which will find the object is already marked (else the is_alive closure would have said no, and we wouldn't even be calling the keep_alive closure). So if increasing the drain interval gives a significant performance improvement, we could cut off that part of things by somehow noticing that keep_alive didn't do anything (ideally by not calling it at all :), That latter probably requires a change to the ReferenceProcessor API."

      There are probably more "shortcuts" that can be made for non-moving reference processing.

            Unassigned Unassigned
            tschatzl Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: