Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8252794

Creation of JNIMethodBlock should be done with a leaf lock

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 16
    • 16
    • hotspot
    • b15

      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.

            rehn Robbin Ehn
            rehn Robbin Ehn
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: