RFR: 8209976: Improve iteration over non-JavaThreads
Kim Barrett
kim.barrett at oracle.com
Tue Aug 28 01:36:58 UTC 2018
> 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