Parallel: Investigate removal of specialized InstanceRefKlass::oop_oop_iterate_reverse()

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Unresolved
    • Priority: P4
    • tbd
    • Affects Version/s: None
    • Component/s: hotspot
    • gc

      Parallel GC specializes InstanceRefKlass::oop_oop_iterate_reverse() in psPromotionManager.inline.hpp explicitly with the following comment:

      // This closure specialization will override the one that is defined in
      // instanceRefKlass.inline.cpp. It swaps the order of oop_oop_iterate and
      // oop_oop_iterate_ref_processing. Unfortunately G1 and Parallel behaves
      // significantly better (especially in the Derby benchmark) using opposite
      // order of these function calls.

      This seems very strange code: if it were better for G1 too, why hasn't it been added there too? And, if it's better, why not use this order for all collectors? (Why didn't it apply to Serial and CMS?)

      See if this specialization is still needed (and actually in use), try to understand is reason too.

            Assignee:
            Unassigned
            Reporter:
            Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: