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

Use native memory and reference counting to implement SymbolTable

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: hs20
    • Fix Version/s: hs21
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b01
    • CPU:
      generic
    • OS:
      generic
    • Verification:
      Verified

      Backports

        Description

        As designed now, customers of Hotspot have to specify a fixed size for the permanent generation, which is a part of the Java heap that holds the VM's representation of the classfiles and other types in a java program. This is called "metadata" within hotspot. If there are a lot of classes loaded, the JVM can throw OutOfMemoryError for the permanent generation when there is plenty of Java heap space and native C heap space available. The customer would then need to restart the VM with a larger MaxPermSize parameter.

        One of the solutions to this problem is to use native C memory for the VM's representation of the Java program. This is currently our chosen solution. The SymbolTable and associated symbols are one type in the JVM that needs to move into native memory, from permgen. The symbols are shared among class loaders so need to be reference counted so that when unreferenced, they are freed.

        This work supports bugid 6964458

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                coleenp Coleen Phillimore
                Reporter:
                coleenp Coleen Phillimore
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: