RFR: 8078345: Move PSParallelCompact::mark_and_push to ParCompactionManager

Bengt Rutisson bengt.rutisson at oracle.com
Wed Apr 22 11:27:18 UTC 2015


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

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20150422/55f79057/attachment.html>


More information about the hotspot-gc-dev mailing list