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

Insertion of free code blobs into code cache can be very slow during class unloading

    XMLWordPrintable

Details

    • b27

    Backports

      Description

        Class unloading adds dead code blobs to the free list at the end of that process item (freed code blob) by item. The insertion keeps the free list sorted.

        Since the free list is a linked list, sorted insertion of a single element is O(n); with 10's of thousands of elements to insert with a stress test application this process can take a very long time, lengthening pauses in the range of a few seconds.

        This is particularly problematic since removal of the code sweeper (JDK-8290025) which did that process concurrently, but G1, Serial and Parallel GC do code cache unloading in a pause now.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                  Created:
                  Updated:
                  Resolved: