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