RFR: 8224868 [lworld] VerifyLastFrame fails with assert: getting result from unreachable basicblock
Frederic Parain
frederic.parain at oracle.com
Thu May 30 11:53:49 UTC 2019
> On May 29, 2019, at 17:59, Karen Kinnear <KAREN.KINNEAR at ORACLE.COM> wrote:
>
>
> Frederic,
>
> The code you added looks good. Thank you for fixing this so quickly.
Thank you for the review.
>
> So where was the exception being thrown before this change?
The exception was thrown from the runtime. In the bytecode templates,
lock_object(rmon) / unlock_object(rmon) trap to the runtime in case of
an “always_locked” bit pattern. The check for inline classes and the
throwing of the IllegalMonitorStateException were performed in
ObjectSynchronizer::fast_enter() and ObjectSynchronizer::slow_enter()
(the macro on the first line for both).
Regards,
Fred
>
> thanks,
> Karen
>
>> On May 29, 2019, at 4:15 PM, Frederic Parain <frederic.parain at oracle.com> wrote:
>>
>> This is a fix for 8224868 [lworld] VerifyLastFrame fails with assert: getting result from unreachable basicblock :
>> https://bugs.openjdk.java.net/browse/JDK-8224868
>>
>> The bug is due to the identity check on the lock being performed after the bcp was incremented,
>> causing the IllegalMonitorStateException to have an incorrect handling with respect to the exception table.
>>
>> The changes:
>> http://cr.openjdk.java.net/~fparain/8224868/webrev.00/
>>
>> The fix has been tested with the reproducer provided with the bug report.
>> Tier1 tests are currently being run on Mach5.
>>
>> Thank you,
>>
>> Fred
>>
>
More information about the valhalla-dev
mailing list