Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
The ConcurrentGCPhaseManager class provides functionality and an API for (primarily) WhiteBox control of concurrent collection cycles. It supports controlling when such cycles are initiated and supports pausing a cycle at specified points. This provides a mechanism by which tests can put a concurrent collection into a particular state and hold it there while doing some test-related work, either verifying state expectations or doing some work that the test needs to do with the collection in a particular state. Only G1 currently implements this API. While it was intended to be supported by other concurrent collectors, the internal APIs and implementation have turned out to not be a good fit for at least some, and no other collector provides an implementation. Even the G1 implementation has some issues. This has inhibited testing of some features with concurrent collectors other than G1. We should replace ConcurrentGCPhaseManager with some different mechanism that can be more easily adopted by all of the concurrent collectors. This will involve updating existing tests, but there aren't a large number of tests using the old facility.
|