Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8082971 | emb-9 | Stefan Karlsson | P4 | Resolved | Fixed | team |
There's a circular dependency between PSScavenge and PSPromotionManager. One example where this can be seen is the 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.
Today there are these include paths:
psScavenge.inline.hpp -> psPromotionManager.inline.hpp
psPromotionManager.inline.hpp -> oop.psgc.inline.hpp -> psScavenge.inline.hpp
I propose that we move PSScavenge::copy_and_push_safe_barrier to the PSPromotionManager class and get rid of the psPromotionManager.inline.hpp -> oop.psgc.inline.hpp -> psScavenge.inline.hpp
include 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.
Today there are these include paths:
psScavenge.inline.hpp -> psPromotionManager.inline.hpp
psPromotionManager.inline.hpp -> oop.psgc.inline.hpp -> psScavenge.inline.hpp
I propose that we move PSScavenge::copy_and_push_safe_barrier to the PSPromotionManager class and get rid of the psPromotionManager.inline.hpp -> oop.psgc.inline.hpp -> psScavenge.inline.hpp
include chain.
- backported by
-
JDK-8082971 Circular include dependency between psScavenge.inline.hpp and psPromotionManager.inline.hpp
- Resolved