diff -r 3ccf7e10ba07 -r 235b0e817c32 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Thu Feb 28 13:53:38 2019 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Thu Feb 28 08:44:09 2019 -0500 @@ -482,7 +482,9 @@ class ShenandoahInitGCLABClosure : public ThreadClosure { public: void do_thread(Thread* thread) { - if (thread != NULL && (thread->is_Java_thread() || thread->is_Worker_thread())) { + assert(thread != NULL, "Sanity"); + assert(!thread->is_Java_thread(), "Don't expect JavaThread this early"); + if (thread->is_Worker_thread()) { ShenandoahThreadLocalData::initialize_gclab(thread); } } @@ -494,8 +496,6 @@ ShenandoahInitGCLABClosure init_gclabs; Threads::threads_do(&init_gclabs); - _workers->threads_do(&init_gclabs); - _safepoint_workers->threads_do(&init_gclabs); // gclab can not be initialized early during VM startup, as it can not determinate its max_size. // Now, we will let WorkGang to initialize gclab when new worker is created.