RFR: 8289613: Drop use of Thread.stop in jshell
Adam Sotona
asotona at openjdk.org
Mon Sep 5 12:49:20 UTC 2022
LocalExecutionControl in jdk.jshell actually uses Thread::stop to cancel execution of (long-running or infinite loops) user code in JShell, however Thread::stop is deprecated and planned for removal.
Proposed patch instruments all user code to call LocalExecutionControl::stopCheck method before every branch instruction.
Thread::stop call is replaced by setting global field LocalExecutionControl.allStop to true and stopCheck method then throws ThreadDead when called from the instrumented code.
Proposed patch requires jdk.jshell access to java.base jdk.internal.org.objectweb.asm package.
Please review.
Thanks,
Adam
-------------
Commit messages:
- removed obsolete SuppressWarnings
- 8289613: Drop use of Thread.stop in jshell
Changes: https://git.openjdk.org/jdk/pull/10166/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10166&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8289613
Stats: 54 lines in 2 files changed: 41 ins; 11 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/10166.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10166/head:pull/10166
PR: https://git.openjdk.org/jdk/pull/10166
More information about the core-libs-dev
mailing list