RFR: 8355323: JShell LocalExecutionControl should add stopCheck() at method entry
Archie Cobbs
acobbs at openjdk.org
Thu Apr 24 20:43:06 UTC 2025
This PR addresses [JDK-8355323](https://bugs.openjdk.org/browse/JDK-8355323), which inserts a "stop check" at the start of each method when JShell is running in local execution mode. This augments the existing stop checks that are added at each backward branch, which, while helpful, do not guarantee the snippet thread will notice a stop request in a bounded length of time, because a snippet could be executing some recursive method(s) that have no backward branches (an example is given in the new regression test). This fix closes that loophole.
Side notes:
* The existing `StopExecutionTest` unit test was split/refactored to create an `AbstractStopExecutionTest` superclass which could be reused by the new `LocalStopExecutionTest`.
* There are three disabled tests in `StopExecutionTest` that seem to be working now and maybe could be re-enabled.
-------------
Commit messages:
- Insert stop checks at the start of each method.
Changes: https://git.openjdk.org/jdk/pull/24859/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24859&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8355323
Stats: 222 lines in 4 files changed: 176 ins; 43 del; 3 mod
Patch: https://git.openjdk.org/jdk/pull/24859.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24859/head:pull/24859
PR: https://git.openjdk.org/jdk/pull/24859
More information about the kulla-dev
mailing list