RFR: 8078345: Move PSParallelCompact::mark_and_push to ParCompactionManager
stefan.karlsson at oracle.com
Wed Apr 22 11:29:24 UTC 2015
On 2015-04-22 13:27, Bengt Rutisson wrote:
> Hi Stefan,
> On 2015-04-22 11:46, Stefan Karlsson wrote:
>> On 2015-04-22 10:30, Stefan Karlsson wrote:
>>> 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
>>> The circular dependency can be seen with:
>>> <the follow contents functions in psCompactionManager.cpp>
>>> 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.
>> 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.
> This looks good to me.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-gc-dev