8258837: Remove JVM option DisableStartThread

Reviewed-by: kbarrett, dcubed
This commit is contained in:
Harold Seigel 2020-12-23 14:45:13 +00:00
parent a4e082e985
commit 244573509d
2 changed files with 10 additions and 18 deletions

View file

@ -697,10 +697,6 @@ const intx ObjectAlignmentInBytes = 8;
product(bool, ClassUnloadingWithConcurrentMark, true, \ product(bool, ClassUnloadingWithConcurrentMark, true, \
"Do unloading of classes with a concurrent marking cycle") \ "Do unloading of classes with a concurrent marking cycle") \
\ \
develop(bool, DisableStartThread, false, \
"Disable starting of additional Java threads " \
"(for debugging only)") \
\
develop(bool, MemProfiling, false, \ develop(bool, MemProfiling, false, \
"Write memory usage profiling to log file") \ "Write memory usage profiling to log file") \
\ \
@ -2079,7 +2075,7 @@ const intx ObjectAlignmentInBytes = 8;
constraint(InitArrayShortSizeConstraintFunc, AfterErgo) \ constraint(InitArrayShortSizeConstraintFunc, AfterErgo) \
\ \
product(ccstr, AllocateHeapAt, NULL, \ product(ccstr, AllocateHeapAt, NULL, \
"Path to the directoy where a temporary file will be created " \ "Path to the directory where a temporary file will be created " \
"to use as the backing store for Java Heap.") \ "to use as the backing store for Java Heap.") \
\ \
develop(int, VerifyMetaspaceInterval, DEBUG_ONLY(500) NOT_DEBUG(0), \ develop(int, VerifyMetaspaceInterval, DEBUG_ONLY(500) NOT_DEBUG(0), \

View file

@ -495,17 +495,15 @@ void Thread::set_priority(Thread* thread, ThreadPriority priority) {
void Thread::start(Thread* thread) { void Thread::start(Thread* thread) {
// Start is different from resume in that its safety is guaranteed by context or // Start is different from resume in that its safety is guaranteed by context or
// being called from a Java method synchronized on the Thread object. // being called from a Java method synchronized on the Thread object.
if (!DisableStartThread) { if (thread->is_Java_thread()) {
if (thread->is_Java_thread()) { // Initialize the thread state to RUNNABLE before starting this thread.
// Initialize the thread state to RUNNABLE before starting this thread. // Can not set it after the thread started because we do not know the
// Can not set it after the thread started because we do not know the // exact thread state at that time. It could be in MONITOR_WAIT or
// exact thread state at that time. It could be in MONITOR_WAIT or // in SLEEPING or some other state.
// in SLEEPING or some other state. java_lang_Thread::set_thread_status(thread->as_Java_thread()->threadObj(),
java_lang_Thread::set_thread_status(thread->as_Java_thread()->threadObj(), JavaThreadStatus::RUNNABLE);
JavaThreadStatus::RUNNABLE);
}
os::start_thread(thread);
} }
os::start_thread(thread);
} }
class InstallAsyncExceptionClosure : public HandshakeClosure { class InstallAsyncExceptionClosure : public HandshakeClosure {
@ -1230,9 +1228,7 @@ WatcherThread::WatcherThread() : NonJavaThread() {
// If the VMThread's priority is not lower than the WatcherThread profiling // If the VMThread's priority is not lower than the WatcherThread profiling
// will be inaccurate. // will be inaccurate.
os::set_priority(this, MaxPriority); os::set_priority(this, MaxPriority);
if (!DisableStartThread) { os::start_thread(this);
os::start_thread(this);
}
} }
} }