-
Bug
-
Resolution: Fixed
-
P4
-
repo-shenandoah
There was a bug in the placement of the call to clear stale census data before starting a fresh one for a new marking cycle that marks through the younger generation. This bug resulted in the use of a co-terminal suffix of the census collection, losing all data from the earlier iterations of an iterative collection process that may run up to 5 times.
We stumbled upon the defect when working on a refactoring task involving separation of generational extensions of Shenandoah from its non-generational version. The (performance) defect has existed since day zero of the adaptive tenuring code in GenShen.
Along with fixing the defect, an assertion has been added to check the "reasonable completeness" of the census.
Some ShenandoahAgeCensus APIs have been narrowed and cleaned.
We stumbled upon the defect when working on a refactoring task involving separation of generational extensions of Shenandoah from its non-generational version. The (performance) defect has existed since day zero of the adaptive tenuring code in GenShen.
Along with fixing the defect, an assertion has been added to check the "reasonable completeness" of the census.
Some ShenandoahAgeCensus APIs have been narrowed and cleaned.
- relates to
-
JDK-8311883 [Genshen] Adaptive tenuring threshold
- Resolved