RFR: 8073543: Circular include dependency between psScavenge.inline.hpp and psPromotionManager.inline.hpp
Bengt Rutisson
bengt.rutisson at oracle.com
Mon Feb 23 08:46:57 UTC 2015
Hi StefanK,
Looks good.
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