<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
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>
<br>
Thanks,<br>
StefanK<br>
<br>
<blockquote cite="mid:55375C2D.9010603@oracle.com" type="cite"> <br>
Thanks,<br>
StefanK<br>
</blockquote>
<br>
</body>
</html>