<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi,<br>
    <br>
    Please review this patch to move code out from PSParallelCompact
    into ParCompactionManager.<br>
    <br>
    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 <a
      href="https://bugs.openjdk.java.net/browse/JDK-8076177"
      title="Remove usage of stack.inline.hpp functions from
      taskqueue.hpp">JDK-8076177</a>.
    <br>
    <br>
    The circular dependency can be seen with:
    <br>
     <the follow contents functions in psCompactionManager.cpp>
    <br>
      PSParallelCompact::mark_and_push
    <br>
       ParCompactionManager::push
    <br>
    <br>
    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.
    <br>
    <br>
    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.
    <br>
    <br>
    <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~stefank/8078345/webrev.01/">http://cr.openjdk.java.net/~stefank/8078345/webrev.01/</a><br>
    <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8078345">https://bugs.openjdk.java.net/browse/JDK-8078345</a><br>
    <br>
    Thanks,<br>
    StefanK<br>
  </body>
</html>