RFR: JDK-8214097: Rework thread initialization and teardown logic

David Holmes david.holmes at oracle.com
Thu Dec 20 12:07:55 UTC 2018


Thanks for looking at this Robbin!

David

On 20/12/2018 9:53 pm, Robbin Ehn wrote:
> Hi David,
> 
> Looks good, thanks!
> 
> /Robbin
> 
> On 12/19/18 10:21 PM, David Holmes wrote:
>> Following on from the preliminary RFR:
>>
>> http://mail.openjdk.java.net/pipermail/hotspot-dev/2018-December/035737.html 
>>
>>
>> I've merged with Kim's changes from 8215097.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8214097
>> Webrev: http://cr.openjdk.java.net/~dholmes/8214097/webrev.v2/
>>
>> Changes since previous discussion:
>>
>> - Replaced Kim's initial_thread_created assertion with a check of 
>> Thread::current_or_null, with an explanation
>>
>> - Removed NJT list addition at construction time as it's not needed 
>> after 8215097.
>>
>> - Moved the JavaThread call to this->exit(false); from the end of 
>> thread_main_inner to the start of post_run - as Markus suggested. This 
>> also necessitated a change to the gtest logic compared to the original 
>> as it has to override post_run() now to avoid the exit call.
>>
>> - Made get_thread_name_string virtual so that the JavaThread 
>> subclasses in the gtest can override it and allow their names to be 
>> seen in hs_err files. (Makes debugging so much easier when you know 
>> which thread crashed!).
>>
>> Testing:
>>   - Mach 5 tiers 1 - 3
>>   - All runtime tests with:
>>     - default GC
>>     - ZGC
>>     - Shenandoah GC
>> - gc/g1
>> - gc/serial
>> - gc/epsilon
>> - gc/shenandoah
>>
>> Thanks,
>> David


More information about the hotspot-dev mailing list