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

Per Liden per.liden at oracle.com
Tue Apr 10 11:42:55 UTC 2018


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