[lworld] RFR: 8332387: [lworld] monitorenter on value class instances must throw IdentityException instead of IllegalMonitorStateException

Dan Heidinga heidinga at openjdk.org
Thu May 23 17:32:14 UTC 2024


On Thu, 23 May 2024 17:21:55 GMT, Frederic Parain <fparain at openjdk.org> wrote:

>> src/hotspot/share/c1/c1_LIR.cpp line 841:
>> 
>>> 839: 
>>> 840:       do_stub(opLock->_stub);
>>> 841:       do_stub(opLock->_throw_ie_stub);
>> 
>> Does `_throw_ie_stub` apply to both `lir_lock` & 'lir_unlock`?  I thought only `monitorenter` was being changed.
>
> When creating a LIR_OpLock for lir_unlock (in LIR_List::unlock_object(), c1_LIR.cpp:1576), no stub is provided so _throw_ie_stub is null. And do_stub() does nothing if the pointer passed in argument is null.
> Did I miss something?

You're correct. Thanks for confirming

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/1108#discussion_r1612072903



More information about the valhalla-dev mailing list