hotspot/src/share/vm/classfile/javaClasses.cpp
changeset 46643 cb5f289ba033
parent 46630 75aa3e39d02c
child 46710 941f16147746
--- a/hotspot/src/share/vm/classfile/javaClasses.cpp	Fri Jul 07 16:49:45 2017 +0000
+++ b/hotspot/src/share/vm/classfile/javaClasses.cpp	Fri Jul 07 23:04:06 2017 +0200
@@ -1334,7 +1334,9 @@
 
 // Read thread status value from threadStatus field in java.lang.Thread java class.
 java_lang_Thread::ThreadStatus java_lang_Thread::get_thread_status(oop java_thread) {
-  assert(Thread::current()->is_Watcher_thread() || Thread::current()->is_VM_thread() ||
+  // Make sure the caller is operating on behalf of the VM or is
+  // running VM code (state == _thread_in_vm).
+  assert(Threads_lock->owned_by_self() || Thread::current()->is_VM_thread() ||
          JavaThread::current()->thread_state() == _thread_in_vm,
          "Java Thread is not running in vm");
   // The threadStatus is only present starting in 1.5