RFR(s): 8197994: Move JavaThread::initialize_queues() logic to G1SATBCardTableLoggingModRefBS

Per Liden per.liden at oracle.com
Thu Feb 15 11:46:27 UTC 2018


After some off-line discussions with Erik we agreed that "attach" and 
"detach" are good words for this (instead of "create" and "destroy").

Updated patch:
http://cr.openjdk.java.net/~pliden/8197994/webrev.1/

Diff:
http://cr.openjdk.java.net/~pliden/8197994/webrev.0vs1/

/Per

On 02/15/2018 12:30 PM, Erik Österlund wrote:
> Hi Per,
> 
> I wonder how we feel about the name on_thread_create in particular. It 
> is crucial that this is performed not just when creating the thread, but 
> particularly when adding it to the thread list while holding the 
> Threads_lock to block safepoints, otherwise the G1 barriers would blow 
> up. Therefore I would have preferred the name on_thread_add instead of 
> on_thread_create. Would you agree with that?
> 
> Thanks,
> /Erik
> 
> On 2018-02-15 10:45, Per Liden wrote:
>> We introduced BarrierSet::flush_deferred_barriers() so that we could 
>> move G1's SATB logic out from JavaThread and into the 
>> G1SATBCardTableLoggingModRefBS barrier set. We should do the same 
>> thing with JavaThread::initialize_queues().
>>
>> The new function on BarrierSet is called on_thread_create(). After 
>> talking to Erik Ö, we also decided to rename 
>> BarrierSet::flush_deferred_barriers() to on_thread_destroy(), to 
>> better match the existing on_slowpath_allocation_exit() and the new 
>> on_thread_create().
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8197994
>> Webrev: http://cr.openjdk.java.net/~pliden/8197994/webrev.0/
>> Testing: hs-tier1,hs-tier2
>>
>> /Per
> 


More information about the hotspot-gc-dev mailing list