RFR: 8073543: Circular include dependency between psScavenge.inline.hpp and psPromotionManager.inline.hpp
Stefan Karlsson
stefan.karlsson at oracle.com
Fri Feb 20 13:14:31 UTC 2015
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