RFR: 8078345: Move PSParallelCompact::mark_and_push to ParCompactionManager

Stefan Karlsson 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:
>>> 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.
>
> This looks good to me.

Thanks, Bengt.

StefanK

>
> Thanks,
> Bengt
>
>>
>> Thanks,
>> StefanK
>>
>>>
>>> Thanks,
>>> StefanK
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20150422/d3a15e8e/attachment.htm>


More information about the hotspot-gc-dev mailing list