src/hotspot/share/classfile/javaClasses.cpp
changeset 59105 76ae9aa0e794
parent 59070 22ee476cc664
--- a/src/hotspot/share/classfile/javaClasses.cpp	Fri Nov 15 09:06:58 2019 +0800
+++ b/src/hotspot/share/classfile/javaClasses.cpp	Thu Nov 14 22:36:40 2019 -0500
@@ -1708,10 +1708,20 @@
 }
 
 bool java_lang_Thread::interrupted(oop java_thread) {
+  // Make sure the caller can safely access oops.
+  assert(Thread::current()->is_VM_thread() ||
+         (JavaThread::current()->thread_state() != _thread_blocked &&
+          JavaThread::current()->thread_state() != _thread_in_native),
+         "Unsafe access to oop");
   return java_thread->bool_field_volatile(_interrupted_offset);
 }
 
 void java_lang_Thread::set_interrupted(oop java_thread, bool val) {
+  // Make sure the caller can safely access oops.
+  assert(Thread::current()->is_VM_thread() ||
+         (JavaThread::current()->thread_state() != _thread_blocked &&
+          JavaThread::current()->thread_state() != _thread_in_native),
+         "Unsafe access to oop");
   java_thread->bool_field_put_volatile(_interrupted_offset, val);
 }