[lilliput-jdk17u:lilliput] RFR: 8308107: [Lilliput/JDK17] Cherry-pick: 8291555: Implement alternative fast-locking scheme [v3]

Aleksey Shipilev shade at openjdk.org
Mon May 22 17:58:18 UTC 2023


On Mon, 22 May 2023 17:49:31 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

> Yeah, but none of them relate to changes done in this PR. Should be fixed separately, IMO.

Agreed.

>> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 770:
>> 
>>> 768:   movptr(boxReg, Address(tmpReg, OM_OFFSET_NO_MONITOR_VALUE_TAG(EntryList)));
>>> 769:   orptr(boxReg, Address(tmpReg, OM_OFFSET_NO_MONITOR_VALUE_TAG(cxq)));
>>> 770:   jccb  (Assembler::notZero, DONE_LABEL);
>> 
>> Why this change?
>
> Because the code is arranged differently now. If we branched to CheckSucc, we would end up in the stack-locked path, which is incorrect. We really want to branch to DONE. That's also what we do in upstream JDK21 (I believe there has been some cleanup between 17 and 21 that fixed that).

OK, so pessimistically if this is still a bug, we "just" enter the slow-path, right? If so, this looks acceptable.

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

PR Comment: https://git.openjdk.org/lilliput-jdk17u/pull/19#issuecomment-1557652183
PR Review Comment: https://git.openjdk.org/lilliput-jdk17u/pull/19#discussion_r1200844347


More information about the lilliput-dev mailing list