RFR: 8209976: Improve iteration over non-JavaThreads

Kim Barrett kim.barrett at oracle.com
Tue Aug 28 20:02:34 UTC 2018


> On Aug 28, 2018, at 1:38 PM, Roman Kennke <rkennke at redhat.com> wrote:
> 
> Looks good to me too.

Thanks.

> 
> Roman
> 
>> 
>> This looks good.  Thank you for making Thread class abstract.
>> 
>> Coleen
>> 
>> On 8/27/18 9:36 PM, Kim Barrett wrote:
>>>> On Aug 27, 2018, at 2:08 PM, coleen.phillimore at oracle.com wrote:
>>>> 
>>>> 
>>>> This looks like a good improvement.  So there are either JavaThreads
>>>> or NonJavaThreads but no Thread now?   Should Thread be made abstract
>>>> so it cannot be instantiated?
>>> Thanks for reviewing.
>>> 
>>> We don’t ever directly instantiate Thread.  I can make it abstract.
>>> 
>>> The canonical way to make a class abstract if it isn't already seems
>>> to be to make the virtual destructor pure. Below is the diff from
>>> open.01 that I'm running through testing.
>>> 
>>> diff -r 7587d014de95 src/hotspot/share/runtime/thread.hpp
>>> --- a/src/hotspot/share/runtime/thread.hpp    Mon Aug 27 13:17:40 2018
>>> -0400
>>> +++ b/src/hotspot/share/runtime/thread.hpp    Mon Aug 27 21:20:05 2018
>>> -0400
>>> @@ -385,7 +385,7 @@
>>>       // Constructor
>>>     Thread();
>>> -  virtual ~Thread();
>>> +  virtual ~Thread() = 0;        // Thread is abstract.
>>>       // Manage Thread::current()
>>>     void initialize_thread_current();
>>> 
>>>> thanks,
>>>> Coleen
>>>> 
>>>> On 8/27/18 1:34 PM, Kim Barrett wrote:
>>>>>> On Aug 27, 2018, at 12:09 PM, Kim Barrett <kim.barrett at oracle.com>
>>>>>> wrote:
>>>>>> Hm, except that I seem to have forgotten to remove the
>>>>>> now obsolete asserts from GlobalCounter::critical_section_begin/end.
>>>>> New webrevs:
>>>>> full: http://cr.openjdk.java.net/~kbarrett/8209976/open.01/
>>>>> incr: http://cr.openjdk.java.net/~kbarrett/8209976/open.01.inc/




More information about the hotspot-dev mailing list