On Thu, 11 Jun 2026 20:20:28 GMT, Martin Doerr <[email protected]> wrote:
>> David Simms has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains 2798 commits: >> >> - Merge remote-tracking branch 'valhalla/lworld' into >> jep401_sub_review_8317278 >> - 8386239: [lworld] Update jdk/java/util/Arrays/ArraysEqCmpTest.java >> >> Reviewed-by: liach >> - 8386242: [lworld] Simplify and clarify StrictProcessor >> >> Reviewed-by: dsimms >> - 8386140: [lworld] FieldReflector using wrong Class argument >> >> Reviewed-by: alanb, dsimms >> - 8386216: [lworld] Rollback meaningless diff in EventClassBuilder >> >> Reviewed-by: dsimms >> - 8385170: [lworld] Serialization spec needs to allow abstract value >> classes like Number >> >> Reviewed-by: liach >> - 8385980: [lworld] Standardize pattern for preview value class generation >> >> Reviewed-by: liach >> - 8386086: [lworld] >> sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java should be >> removed from problem list >> >> Reviewed-by: liach, dcubed >> - Merge >> >> Merge jdk-28+1 >> - 8386090: [lworld] Redundant test changes in lworld versus mainline >> >> Reviewed-by: vromero >> - ... and 2788 more: https://git.openjdk.org/jdk/compare/92298786...f76a5106 > > Minor cleanup would be nice: > > diff --git a/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp > b/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp > index c74ff16ae26..1fc0f43ed6c 100644 > --- a/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp > +++ b/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp > @@ -1640,15 +1640,13 @@ void > LIR_Assembler::emit_opSubstitutabilityCheck(LIR_OpSubstitutabilityCheck* op > move(op->not_equal_result(), op->result_opr()); > __ b(L_end); > > - __ bind(L_oops_equal); > - move(op->equal_result(), op->result_opr()); > - __ b(L_end); > - > // We've returned from the stub. R0 contains 0x0 IFF the two > // operands are not substitutable. (Don't compare against 0x1 in case the > // C compiler is naughty) > __ bind(*op->stub()->continuation()); > __ cbz(r0, L_oops_not_equal); // (call_stub() == 0x0) -> not_equal > + > + __ bind(L_oops_equal); > move(op->equal_result(), op->result_opr()); // (call_stub() != 0x0) -> > equal > // fall-through > __ bind(L_end); > diff --git a/src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp > b/src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp > index 01f4a8c1fb7..0b219f53817 100644 > --- a/src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp > +++ b/src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp > @@ -1639,16 +1639,14 @@ void > LIR_Assembler::emit_opSubstitutabilityCheck(LIR_OpSubstitutabilityCheck* op > move(op->not_equal_result(), op->result_opr()); > __ jmp(L_end); > > - __ bind(L_oops_equal); > - move(op->equal_result(), op->result_opr()); > - __ jmp(L_end); > - > // We've returned from the stub. RAX contains 0x0 IFF the two > // operands are not substitutable. (Don't compare against 0x1 in case the > // C compiler is naughty) > __ bind(*op->stub()->continuation()); > __ cmpl(rax, 0); > __ jcc(Assembler::equal, L_oops_not_equal); // (call_stub() == 0x0) -> > not_equal > + > + __ bind(L_oops_equal); > move(op->equal_result(), op->result_opr()); // (call_stub() != 0x0) -> > equal > // fall-through > __ bind(L_end); Thanks @TheRealMDoerr for the feedback on C1 code, those issues will be tracked by https://bugs.openjdk.org/browse/JDK-8386598. ------------- PR Comment: https://git.openjdk.org/jdk/pull/31122#issuecomment-4692066086
