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

Make VtableStubs::entry_point() lock free

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: