RFC: 8269342: CICrashAt=1 does not always catch first Java method
dean.long at oracle.com
dean.long at oracle.com
Fri Jul 23 21:07:42 UTC 2021
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