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

Move PSParallelCompact::mark_and_push to ParCompactionManager

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 9
    • 9
    • 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.

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

                Created:
                Updated:
                Resolved: