RFR: 8286957: Held monitor count [v8]
Robbin Ehn
rehn at openjdk.org
Thu Jul 7 07:17:40 UTC 2022
On Wed, 6 Jul 2022 13:43:35 GMT, Robbin Ehn <rehn at openjdk.org> wrote:
>> The current implementation do not count all monitor enter, counts high up in abstraction and causes a performance regression on aarch64 with some benchmarks due to C2 changes.
>>
>> This change makes the counting exact by pushing the counting down in the abstraction.
>> The additional JNI counter is strictly not needed, but enables us to figure out if we have monitors "on stack".
>>
>> An uncontended lock plus unlock is 1 ns (21.5 -> 22.5) slower in C2 compiled code on x64 with the additional increment and decrement.
>>
>> Fixed aarch64, x64, x86 and zero.
>>
>> Passes t1-8
>
> Robbin Ehn has updated the pull request incrementally with one additional commit since the last revision:
>
> Fixed strw, zero rename and made methods return 64 bit counter in all cases
Incremental changes passed t1-7.
@pron and @fisk can you please have a look if the incremental changes are okay?
And additionally can @pron please take careful look at continuationEntry.hpp and continuationFreezeThaw.cpp
Thanks
-------------
PR: https://git.openjdk.org/jdk/pull/8945
More information about the hotspot-dev
mailing list