RFR: 8201318: Introduce GCThreadLocalData to abstract GC-specific data belonging to a thread

Per Liden per.liden at oracle.com
Tue Apr 10 12:26:31 UTC 2018


Hi Martin & Roman,

I just want to highlight that this change touches platform code for 
s390/ppc and aarch64, so please verify that it doesn't break your builds.

cheers,
Per

On 04/10/2018 01:42 PM, Per Liden wrote:
> As part of the effort to make GCs more pluggable, the G1-specific data 
> in JavaThread should be moved out into a more appropriate abstraction.
> 
> This is the second step (building on JDK-8201316), which introduces 
> GCThreadLocalData, an opaque data area in Thread. Each GC is free to 
> decide the internal structure and contents of this area.
> 
> With this in place, we can remove G1's thread-local SATB queue and dirty 
> card queue from JavaThread and instead let G1 use the data area provided 
> by GCThreadLocalData to store these.
> 
> Other GCs that wants to store pre-thread information (e.g. ZGC and 
> Shenandoah) are encouraged to look at what G1 is doing here and use that 
> as a template/example.
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8201318
> Webrev: http://cr.openjdk.java.net/~pliden/8201318/webrev.0/
> 
> Testing: hs-tier{1-3}
> 
> /Per
> 


More information about the hotspot-dev mailing list