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

    • b27

        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.

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

                Created:
                Updated:
                Resolved: