RFR: 8078345: Move PSParallelCompact::mark_and_push to ParCompactionManager
Stefan Karlsson
stefan.karlsson at oracle.com
Wed Apr 22 09:46:53 UTC 2015
On 2015-04-22 10:30, Stefan Karlsson wrote:
> Hi,
>
> Please review this patch to move code out from PSParallelCompact into
> ParCompactionManager.
>
> 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
> <https://bugs.openjdk.java.net/browse/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.
>
> http://cr.openjdk.java.net/~stefank/8078345/webrev.01/
> https://bugs.openjdk.java.net/browse/JDK-8078345
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.
Thanks,
StefanK
>
> Thanks,
> StefanK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20150422/7e879974/attachment.htm>
More information about the hotspot-gc-dev
mailing list