~ThreadInVMForHandshake() should call handle_special_runtime_exit_condition()

Reingruber, Richard richard.reingruber at sap.com
Thu May 9 10:05:55 UTC 2019


Hi,

could I please get reviews and sponsoring for

Webrev: http://cr.openjdk.java.net/~rrich/webrevs/2019/8223572/webrev.1/
Bug:    https://bugs.openjdk.java.net/browse/JDK-8223572

A java thread T can continue executing bytecodes after it was suspended using the vm operation
VM_ThreadSuspend. This can happen in HandshakeState::process_self_inner() when T becomes safepoint
safe calling _semaphore.wait_with_safepoint_check(thread).

Fix: poll has_special_runtime_exit_condition() and conditionally call
handle_special_runtime_exit_condition() as it is done in SafepointSynchronize::block(), too.

Thanks, Richard.

PS: see also mail thread https://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2019-May/034144.html


More information about the hotspot-runtime-dev mailing list