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