RFR: 8078345: Move PSParallelCompact::mark_and_push to ParCompactionManager

Jesper Wilhelmsson jesper.wilhelmsson at oracle.com
Wed Apr 22 12:17:36 UTC 2015


Thanks, looks a lot better now.
Ship it!
/Jesper


Stefan Karlsson skrev den 22/4/15 10:30:
> 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
>
> Thanks,
> StefanK


More information about the hotspot-gc-dev mailing list