Move PSParallelCompact::mark_and_push to ParCompactionManager

XMLWordPrintable

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

        There is a circular dependency between between PSParallelCompact and ParCompactionManager that makes it hard to move ParCompactionManager::push to psCompactionManager.inline.hpp, something that we need for JDK-8076177.

        The circular dependency can be seen with:
         <the follow contents functions in psCompactionManager.cpp>
          PSParallelCompact::mark_and_push
           ParCompactionManager::push

        The suggested fix is to make mark_and_push a member of ParCompactionManager. The implementation already takes a ParCompactionManager as the first argument and it's used by other ParCompactionManager specific functions.

        The fix also moves the rest of the follow_* functions so that all marking code, which is done in multiple threads using separate ParCompactionManagers, are held together.

              Assignee:
              Stefan Karlsson
              Reporter:
              Stefan Karlsson
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: