--- old/src/hotspot/share/classfile/stringTable.cpp 2018-06-26 11:19:30.772691130 +0200 +++ new/src/hotspot/share/classfile/stringTable.cpp 2018-06-26 11:19:30.420679247 +0200 @@ -499,7 +499,6 @@ StringTableDeleteCheck stdc; StringTableDoDelete stdd; - bool interrupted = false; { TraceTime timer("Clean", TRACETIME_LOG(Debug, stringtable, perf)); while(bdt.do_task(jt, stdc, stdd)) { --- old/src/hotspot/share/utilities/concurrentHashTableTasks.inline.hpp 2018-06-26 11:19:32.213739775 +0200 +++ new/src/hotspot/share/utilities/concurrentHashTableTasks.inline.hpp 2018-06-26 11:19:31.856727723 +0200 @@ -63,7 +63,8 @@ } // Calculate starting values. - void setup() { + void setup(Thread* thread) { + thread_owns_resize_lock(thread); _size_log2 = _cht->_table->_log2_size; _task_size_log2 = MIN2(_task_size_log2, _size_log2); size_t tmp = _size_log2 > _task_size_log2 ? @@ -129,8 +130,7 @@ if (!lock) { return false; } - this->thread_owns_resize_lock(thread); - this->setup(); + this->setup(thread); return true; } @@ -173,8 +173,7 @@ thread, BucketsOperation::_cht->_log2_size_limit)) { return false; } - this->thread_owns_resize_lock(thread); - this->setup(); + this->setup(thread); return true; }