<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    On 2015-04-22 13:27, Bengt Rutisson wrote:<br>
    <blockquote cite="mid:55378596.9020501@oracle.com" type="cite">
      <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
      <br>
      Hi Stefan,<br>
      <br>
      <div class="moz-cite-prefix">On 2015-04-22 11:46, Stefan Karlsson
        wrote:<br>
      </div>
      <blockquote cite="mid:55376E0D.9010409@oracle.com" type="cite">
        <meta content="text/html; charset=utf-8"
          http-equiv="Content-Type">
        On 2015-04-22 10:30, Stefan Karlsson wrote:<br>
        <blockquote cite="mid:55375C2D.9010603@oracle.com" type="cite">
          <meta http-equiv="content-type" content="text/html;
            charset=utf-8">
          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
            moz-do-not-send="true"
            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 moz-do-not-send="true" class="moz-txt-link-freetext"
            href="http://cr.openjdk.java.net/%7Estefank/8078345/webrev.01/">http://cr.openjdk.java.net/~stefank/8078345/webrev.01/</a><br>
          <a moz-do-not-send="true" class="moz-txt-link-freetext"
            href="https://bugs.openjdk.java.net/browse/JDK-8078345">https://bugs.openjdk.java.net/browse/JDK-8078345</a><br>
        </blockquote>
        <br>
        To be clear, this helps to resolve the circular dependency
        between psCompactionManager.inline.hpp and
        psParallelCompact.inline.hpp. There are still other circular
        dependencies between ParCompactionManager and PSParallelCompact.<br>
      </blockquote>
      <br>
      This looks good to me.<br>
    </blockquote>
    <br>
    Thanks, Bengt.<br>
    <br>
    StefanK<br>
    <br>
    <blockquote cite="mid:55378596.9020501@oracle.com" type="cite"> <br>
      Thanks,<br>
      Bengt<br>
      <br>
      <blockquote cite="mid:55376E0D.9010409@oracle.com" type="cite"> <br>
        Thanks,<br>
        StefanK<br>
        <br>
        <blockquote cite="mid:55375C2D.9010603@oracle.com" type="cite">
          <br>
          Thanks,<br>
          StefanK<br>
        </blockquote>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>