RFR: 8346836: C2: Introduce a way to verify the correctness of ConstraintCastNodes at runtime [v2]

Quan Anh Mai qamai at openjdk.org
Sun Jan 19 15:08:29 UTC 2025


On Fri, 17 Jan 2025 07:34:31 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Quan Anh Mai has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
>> 
>>  - add tests
>>  - make VerifyConstraintCast uint, better debug info
>>  - Merge branch 'master' into verifycast
>>  - Introduce VerifyConstraintCasts
>
> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 849:
> 
>> 847:   jccb(Assembler::lessEqual, succeed);
>> 848:   bind(fail);
>> 849:   stop("Invalid CastII");
> 
> Is there any way to print the `[lo,hi]` and `dst`? I suppose one can always get that via the debugger, would just be convenient.

Done, calling into VM somehow results in no stacktrace so I just call `hlt` instead.

> src/hotspot/share/opto/castnode.cpp line 511:
> 
>> 509: 
>> 510:   // Keep these casts for verification
>> 511:   if (VerifyConstraintCasts) {
> 
> Can we have 2 modes, one where we do the widening, and one where we do not?

Done

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22880#discussion_r1921574822
PR Review Comment: https://git.openjdk.org/jdk/pull/22880#discussion_r1921574658


More information about the hotspot-compiler-dev mailing list