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

Make VtableStubs::entry_point() lock free

XMLWordPrintable

      VtableStubs::entry_point() is used to query whether a given address is a vtable (or itable) stub.

      It takes the global VtableStubs_lock to do so. However this is not necessary - these hashtable entries are only ever added, so a much faster store_release()/load_acquire() pair is sufficient to guarantee consistency during querying.

      This is particularly important during class unloading where multiple threads do that query in parallel while cleaning CompiledICs. This can improve runtime of that part of the class unloading quite a bit.

            tschatzl Thomas Schatzl
            tschatzl Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: