RFR: 8078345: Move PSParallelCompact::mark_and_push to ParCompactionManager

Stefan Karlsson stefan.karlsson at oracle.com
Wed Apr 22 12:20:46 UTC 2015


On 2015-04-22 14:17, Jesper Wilhelmsson wrote:
> Thanks, looks a lot better now.
> Ship it!

Thanks, Jesper.

StefanK


> /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