On Mon, 6 Jul 2026 15:14:25 GMT, Daisuke Yamazaki <[email protected]> wrote:

>> When `left == right` is known at code generation time, the operands are 
>> necessarily the same oop, so we can jump directly to `L_oops_equal`. 
>> This patch changes both x86 and aarch65 to do that.
>> 
>> I also considered emitting `equal_result` and returning early in that case.
>> I decided not to do that because `LIR_OpSubstitutabilityCheck::emit_code()` 
>> still appends the slow-path stub after `emit_opSubstitutabilityCheck()` 
>> returns.
>> An early return here would skip binding `op->stub()->continuation()`, 
>> leaving the appended stub with an unbound continuation label. 
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Daisuke Yamazaki has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   More fold C1 substitutability check for identical operands

src/hotspot/share/c1/c1_LIRGenerator.cpp line 3369:

> 3367:     __ move(equal_result, result);
> 3368:     return;
> 3369:   }

Good idea. Are the platform specific parts still needed after this?

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

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/2628#discussion_r3530203031

Reply via email to