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

Doerr, Martin martin.doerr at sap.com
Tue Apr 10 14:42:28 UTC 2018


Hi Per,

builds on PPC64 and s390 after applying 8201316 and 8201318.

Thanks and best regards,
Martin


-----Original Message-----
From: Per Liden [mailto:per.liden at oracle.com] 
Sent: Dienstag, 10. April 2018 14:51
To: Roman Kennke <rkennke at redhat.com>; Doerr, Martin <martin.doerr at sap.com>; hotspot-dev at openjdk.java.net
Subject: Re: RFR: 8201318: Introduce GCThreadLocalData to abstract GC-specific data belonging to a thread

A couple of commits were pushed, which causes conflicts with this 
change, so here's a rebased version:

http://cr.openjdk.java.net/~pliden/8201318/webrev.1

cheers,
Per

On 04/10/2018 02:26 PM, Per Liden wrote:
> 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