RFR: Refactor to differentiate young generation marking.

Roman Kennke rkennke at openjdk.java.net
Fri Dec 4 17:56:26 UTC 2020


On Wed, 18 Nov 2020 12:31:03 GMT, Bernd Mathiske <bmathiske at openjdk.org> wrote:

> This change is large to achieve uninterrupted functionality for single-generational Shenandoah while planting code that differentiates two distinct generations and concurrent marking for the young generation.
> 
> One main part of the change is redistributing existing code from the heap class to generation-specific classes for further modifications. 
> 
> The other is a pervasive case distinction throughout marking code that differentiates between young and global collections. Where necessary we use templates to not impose runtime overhead. In code sections that are not runtime-critical we use conditions and switches over an enum that indicates which generational collection mode we are in (young or global).
> 
> We temporarily make all collections in generational mode young collections. Global and old collections will come later.

I merged the latest openjdk/jdk code into the genshen branch. This gives us concurrent weak reference processing, better GH actions test coverage and lots of other goodies. Can you please merge that into your branch?

-------------

PR: https://git.openjdk.java.net/shenandoah/pull/8


More information about the shenandoah-dev mailing list