RFR: 8252794: Creation of JNIMethodBlock should be done with a leaf lock [v2]
David Holmes
dholmes at openjdk.java.net
Wed Sep 9 12:41:31 UTC 2020
On Wed, 9 Sep 2020 07:25:51 GMT, Robbin Ehn <rehn at openjdk.org> wrote:
>> JVM TI uses handshakes and sometimes need jmethod ids.
>> The CLD have an area where these ids are saved, which is created on first request for an id.
>>
>> The creation of this area should be done with a leaf lock.
>> In W.I.P. asynchronous handshake change-set we use a mutex instead of a semaphore for serializing the handshakes,
>> we thus get into lock ranks asserts.
>>
>> The CLD metaspace lock cannot be pushed down but we can use the same lock as for creating jmethod ids:
>> JmethodIdCreation_lock. And push that down. (special-2 is picked to be compatible with W.I.P. asynchronous handshake
>> change-set)
>> The reason for CLD metaspace lock being used now is that we have one per CLD instead of one global one.
>>
>> Testing passes: t1-3
>
> Robbin Ehn has updated the pull request incrementally with one additional commit since the last revision:
>
> Corrected comment
Update is good.
-------------
Marked as reviewed by dholmes (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/53
More information about the hotspot-dev
mailing list