RFR: 8073543: Circular include dependency between psScavenge.inline.hpp and psPromotionManager.inline.hpp
Stefan Karlsson
stefan.karlsson at oracle.com
Mon Feb 23 08:55:41 UTC 2015
On 2015-02-23 09:46, Bengt Rutisson wrote:
>
> Hi StefanK,
>
> Looks good.
Thanks, Bengt.
StefanK
>
> Thanks,
> Bengt
>
>
>
> On 2015-02-20 14:14, Stefan Karlsson wrote:
>> Hi,
>>
>> Please review this patch to fix a circular dependency between
>> PSScavenge and PSPromotionManager:
>>
>> http://cr.openjdk.java.net/~stefank/8073543/webrev.01
>> https://bugs.openjdk.java.net/browse/JDK-8073543
>>
>> The circular dependency can be seen in this call chain:
>>
>> PSPromotionManager::process_popped_location_depth(...)
>> PSScavenge::copy_and_push_safe_barrier(...)
>> PSPromotionManager::copy_to_survivor_space(...)
>>
>> These functions are located in the psScavenge.inline.hpp and
>> psPromotionManager.inline.hpp.
>>
>> Before this patch we have these include paths:
>> psScavenge.inline.hpp -> psPromotionManager.inline.hpp
>> psPromotionManager.inline.hpp -> oop.psgc.inline.hpp ->
>> psScavenge.inline.hpp
>>
>> The patch moves PSScavenge::copy_and_push_safe_barrier to the
>> PSPromotionManager class and gets rid of the
>> psPromotionManager.inline.hpp -> oop.psgc.inline.hpp ->
>> psScavenge.inline.hpp
>> include chain.
>>
>> This change has been performance tested with SPECjbb2005 on Linux
>> x64, Windows x64, Solaris x64, and Solaris Sparc.
>>
>> Thanks,
>> SstefanK
>
More information about the hotspot-gc-dev
mailing list