On Tue, 8 Dec 2020 09:53:36 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:

> The StressRedefine.java (base for redefine stress tests) defines 3 important 
> constants:
>     private static int staticMethodCallersNumber = 10;
>     private static int nonstaticMethodCallersNumber = 10;
>     private static int redefiningThreadsNumber = 40;
> 
> The 1st is number of threads to call a static method from constantly 
> redefined class.
> The 2nd is number of threads to call am instance method from constantly 
> redefined class.
> The 3rd is number of threads to redefine the target class.
> The redefiningThreadsNumber=40 is unreasonably big for the StressRedefine 
> test, and there is no chance with -Xcomp  for one of the methods above to get 
> resolved without a class redefinition. So, after 100 of non-successfull 
> attempts we hit the guarantee in the 
> open/src/hotspot/share/interpreter/interpreterRuntime.cpp:879
>   guarantee((retry_count++ < 100)) failed: Could not resolve to latest 
> version of redefined method 
> To avoid it, the test StressRedefine/TestDescription.java is tweaked to have 
> redefiningThreadsNumber=4.
> 
> The test StressRedefineWithoutBytecodeCorruption is worse as it fails even 
> with redefiningThreadsNumber=1. So, a require is added to exclude the test 
> with the -Xcomp flag.

This pull request has been closed without being integrated.

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

PR: https://git.openjdk.java.net/jdk/pull/1692

Reply via email to