< prev index next >

src/hotspot/share/runtime/handshake.cpp

Print this page

        

@@ -275,10 +275,15 @@
     return op.executed();
   }
 }
 
 bool Handshake::execute_direct(HandshakeClosure* thread_cl, JavaThread* target) {
+  if (!SafepointMechanism::uses_thread_local_poll()) {
+    VM_HandshakeFallbackOperation op(thread_cl, target);
+    VMThread::execute(&op);
+    return op.executed();
+  }
   JavaThread *self = (JavaThread*)Thread::current();
   HandshakeOperation op(thread_cl, true);
 
   jlong start_time_ns = 0;
   if (log_is_enabled(Info, handshake)) {
< prev index next >