On Tue, 23 Jul 2024 13:12:23 GMT, Coleen Phillimore <cole...@openjdk.org> wrote:

>> src/hotspot/share/runtime/deoptimization.cpp line 1641:
>> 
>>> 1639:               assert(fr.is_deoptimized_frame(), "frame must be 
>>> scheduled for deoptimization");
>>> 1640:               if (LockingMode == LM_LEGACY) {
>>> 1641:                 
>>> mon_info->lock()->set_displaced_header(markWord::unused_mark());
>> 
>> In the existing code how is this restricted to the LM_LEGACY case?? It 
>> appears to be unconditional which suggests you are changing the non-UOMT 
>> LM_LIGHTWEIGHT logic. ??
>
> Only legacy locking uses the displaced header, I believe, which isn't clear 
> in this code at all.  This seems like a fix.  We should probably assert that 
> only legacy locking uses this field as a displaced header.

Update: yes, this code change does assert if you use BasicLock's displaced 
header for locking modes other than LM_LEGACY.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20067#discussion_r1688668887

Reply via email to