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

pending_cards_at_gc_start doesn't include cards in thread buffers

XMLWordPrintable

    • gc
    • b23

      Among other things, G1Policy::record_concurrent_refinement_stats() sets pending_cards_at_gc_start to the number of cards in the dirty card queue set. However, that doesn't include cards in the thread buffers.

      record_concurrent_refinement_stats is called by record_young_collection_start. The cards in thread buffers are flushed to the DCQS by concatenate_logs, which is called later by pre_evacuate_collection_set. So the recorded pending cards value doesn't include the cards in thread buffers, but should. This may effect various later calculations using that information, since it will be less accurate than it could be.

            kbarrett Kim Barrett
            kbarrett Kim Barrett
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: