RFR: 8209976: Improve iteration over non-JavaThreads
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Tue Aug 28 15:38:36 UTC 2018
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