< prev index next >
src/share/vm/classfile/javaClasses.cpp
Print this page
rev 8911 : [jfr] enable thread sampling
@@ -1045,11 +1045,14 @@
}
}
// 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_Watcher_thread() ||
+ 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
if (_thread_status_offset > 0) {
return (java_lang_Thread::ThreadStatus)java_thread->int_field(_thread_status_offset);
< prev index next >