diff -r 6ec71a88b68e -r 46409371a691 src/hotspot/share/runtime/thread.cpp --- a/src/hotspot/share/runtime/thread.cpp Tue May 21 00:52:04 2019 -0700 +++ b/src/hotspot/share/runtime/thread.cpp Tue May 21 10:34:57 2019 +0200 @@ -1613,7 +1613,6 @@ set_deopt_compiled_method(NULL); clear_must_deopt_id(); set_monitor_chunks(NULL); - set_next(NULL); _on_thread_list = false; set_thread_state(_thread_new); _terminated = _not_terminated; @@ -3457,7 +3456,6 @@ // would like. We are actively migrating Threads_lock uses to other // mechanisms in order to reduce Threads_lock contention. -JavaThread* Threads::_thread_list = NULL; int Threads::_number_of_threads = 0; int Threads::_number_of_non_daemon_threads = 0; int Threads::_return_code = 0; @@ -3764,7 +3762,6 @@ } // Initialize Threads state - _thread_list = NULL; _number_of_threads = 0; _number_of_non_daemon_threads = 0; @@ -4423,9 +4420,6 @@ BarrierSet::barrier_set()->on_thread_attach(p); - p->set_next(_thread_list); - _thread_list = p; - // Once a JavaThread is added to the Threads list, smr_delete() has // to be used to delete it. Otherwise we can just delete it directly. p->set_on_thread_list(); @@ -4463,20 +4457,6 @@ // Maintain fast thread list ThreadsSMRSupport::remove_thread(p); - JavaThread* current = _thread_list; - JavaThread* prev = NULL; - - while (current != p) { - prev = current; - current = current->next(); - } - - if (prev) { - prev->set_next(current->next()); - } else { - _thread_list = p->next(); - } - _number_of_threads--; if (!is_daemon) { _number_of_non_daemon_threads--;