On Thu, 18 Dec 2025 01:24:42 GMT, David Holmes <[email protected]> wrote:
> To ensure JNI critical access to a raw array can't interfere with actions of > the debugger, we disable JVM TI suspension whilst JNI critical access is > active, as originally suggested by @fisk. We assume the debugger is being > operated correctly (ie the thread using the raw array will be suspended), and > that the critical section is short so as to not delay debugging too long. > > The mechanism for this already exists courtesy of the virtual thread support. > > Testing: > - tiers 1 - 6 sanity So this `_is_disable_suspend` flag will prevent the target from processing the async handshake and suspend, but the suspender will still consider the target suspended once `SuspendThreadHandshakeClosure` is done. We would need to check the state of the target and don't consider it "handshake safe" if it's in a JNI critical region. ------------- PR Comment: https://git.openjdk.org/jdk/pull/28884#issuecomment-3671897422
