United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6990754 Use native memory and reference counting to implement SymbolTable
6990754 : Use native memory and reference counting to implement SymbolTable

Details
Type:
Enhancement
Submit Date:
2010-10-08
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
generic
Sub-Component:
runtime
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs20
Fixed Versions:
hs21

Related Reports
Backport:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:

Sub Tasks

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

                                    

Comments
EVALUATION

Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
                                     
2011-02-02
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/3582bf76420e
                                     
2011-01-30
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/3582bf76420e
                                     
2011-01-30



Hardware and Software, Engineered to Work Together