Details
-
Bug
-
Resolution: Fixed
-
P4
-
16
-
b15
Description
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.
The reason for CLD metaspace lock being used now is that we have one per CLD instead of one global one.
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.
The reason for CLD metaspace lock being used now is that we have one per CLD instead of one global one.