On Fri, 5 Jun 2026 07:39:37 GMT, Aleksey Shipilev <[email protected]> wrote:

>> Andrew Haley has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains 128 commits:
>> 
>>  - Merge https://github.com/openjdk/jdk into JDK-8134940
>>  - Review comments
>>  - Review comments
>>  - Merge branch 'JDK-8134940' of https://github.com/theRealAph/jdk into 
>> JDK-8134940
>>  - Merge remote-tracking branch 'refs/remotes/origin/JDK-8134940' into 
>> JDK-8134940
>>  - Review comments
>>  - Review comments
>>  - Remove misleading comment
>>  - Merge remote-tracking branch 'refs/remotes/origin/JDK-8134940' into 
>> JDK-8134940
>>  - Add macros
>>  - ... and 118 more: https://git.openjdk.org/jdk/compare/ca52afa3...f9440fbb
>
> src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp line 2908:
> 
>> 2906:           __ cmpl(step_opr->as_register(), 0);
>> 2907:           __ movl(step_opr->as_register(), 
>> InvocationCounter::count_increment * ProfileCaptureRatio);
>> 2908:           __ cmovl(Assembler::notEqual, dest, step_opr->as_register());
> 
> Hold on. The intent is to max out `dest` when `step_opr == 0`, right? But as 
> it is written now, this thing sets `dest = MAX` when `step_opr != 0`? 
> Shouldn't it be `Assembler::equal`? Might be an issue on other platforms as 
> well?

Good spot. I got confused because of confusion between the left-to-right 
three-operand LIR version and the right-to-left two-operand x86 vesion.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28541#discussion_r3363012373

Reply via email to