RFC: 8269342: CICrashAt=1 does not always catch first Java method

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Jul 23 21:58:20 UTC 2021


I like the last option: resurrect CICountNative flag.

Thanks,
Vladimir K

On 7/23/21 2:07 PM, dean.long at oracle.com wrote:
> The CICrashAt flag is used by some cireplay tests to force a dump of replay data for the test method.  To make sure it 
> crashes on the correct method, it uses -XX:CompileOnly and sets CICrashAt=1. However, native methods, including method 
> handle intrinsics, can get assigned compile_id 1, which breaks things.
> 
> I'd like suggestions on the best way to fix this problem.  My first idea was to set the compile_id to 0 for method 
> handle intrinsics, but maybe that would confuse some log parser?  It's a slightly incompatible change.
> 
> I also considered introducing a new -XX:CompileCommand=crash that would solve the problem for the replay tests, but 
> still doesn't make CICrashAt=1 work as intended.
> 
> A third option is to reintroduce this ancient flag (from jdk 1.5):
> 
>      develop(bool, CICountNative, false, \
>              "use a separate counter when assigning ids to native "            \
> "compilations") \
> 
> 
> which could allow CICrashAt=1 to crash on the first c1/c2 Java method.
> 
> dl
> 
> 


More information about the hotspot-compiler-dev mailing list