Integrated: 8252794: Creation of JNIMethodBlock should be done with a leaf lock

Robbin Ehn rehn at openjdk.java.net
Wed Sep 9 13:24:24 UTC 2020


On Mon, 7 Sep 2020 12:16:17 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

This pull request has now been integrated.

Changeset: d5609647
Author:    Robbin Ehn <rehn at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/d5609647
Stats:     5 lines in 2 files changed: 0 ins; 0 del; 5 mod

8252794: Creation of JNIMethodBlock should be done with a leaf lock

Reviewed-by: coleenp, dholmes

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

PR: https://git.openjdk.java.net/jdk/pull/53


More information about the hotspot-dev mailing list