Integrated: 8289613: Drop use of Thread.stop in jshell

Adam Sotona asotona at openjdk.org
Thu Sep 8 10:06:47 UTC 2022


On Mon, 5 Sep 2022 12:39:41 GMT, Adam Sotona <asotona at openjdk.org> wrote:

> 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

This pull request has now been integrated.

Changeset: ffc249ae
Author:    Adam Sotona <asotona at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/ffc249ae2120752a9c0e9de18167b0c16f2de410
Stats:     71 lines in 2 files changed: 67 ins; 1 del; 3 mod

8289613: Drop use of Thread.stop in jshell

Reviewed-by: jlahoda

-------------

PR: https://git.openjdk.org/jdk/pull/10166


More information about the core-libs-dev mailing list