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

Move PSParallelCompact::mark_and_push to ParCompactionManager

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Fixed
    • P4
    • 9
    • 9
    • hotspot
    • None
    • gc
    • b66

    Backports

      Description

        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.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                  Created:
                  Updated:
                  Resolved: