RFR: 8252794: Creation of JNIMethodBlock should be done with a leaf lock [v2]
Robbin Ehn
rehn at openjdk.java.net
Wed Sep 9 07:25:51 UTC 2020
> 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
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/53/files
- new: https://git.openjdk.java.net/jdk/pull/53/files/ec4eb407..0ca8c6cd
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=53&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=53&range=00-01
Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
Patch: https://git.openjdk.java.net/jdk/pull/53.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/53/head:pull/53
PR: https://git.openjdk.java.net/jdk/pull/53
More information about the hotspot-dev
mailing list