RFR 8019375: Internal symbol table size should be tunable.

Kevin Walls kevin.walls at oracle.com
Thu Aug 29 02:52:12 PDT 2013


On 23/08/13 19:54, Coleen Phillimore wrote:
>
> Hi Kevin,
>
> I'm sorry I didn't warn you but I think there are serviceability agent 
> changes with this change.   For some reason, I think the SA duplicates 
> code in the JVM for the symbol table.
>
> You might get away with only changing this line in 
> agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java
>
>     symbolTableSize = 
> db.lookupIntConstant("SymbolTable::symbol_table_size").intValue(); to 
> use SymbolTableSize.
>
> Then run the nsk.sajdi.testlist tests.
>
> Thanks,
> Coleen
>
> On 8/23/2013 5:34 AM, Kevin Walls wrote:
>> Hi,
>>
>> I'd like to get reviews on this change to make the size of the symbol 
>> table tunable.  This can be a performance benefit to some apps, i.e. 
>> when the symbol table becomes overloaded (see 
>> PrintStringTableStatistics output).
>>
>> This work here actually comes from Coleen.  I'm happy to take any 
>> further comments and update.
>>
>> http://cr.openjdk.java.net/~kevinw/8019375/webrev.01/
>> http://bugs.sun.com/view_bug.do?bug_id=8019375
>>
>> This uses SymbolTableSize as the tunable name.  (Another suggestion 
>> and possibile name, was PredictedMaxVMStrings to avoid talking 
>> explicity about the internal format.  Comments welcome!...)
>>
>> Thanks
>> Kevin
>

Thanks Coleen,  (and thanks Keith too!)

Yes, we have a getSymbolTableSize() accessor in 
agent/...../SymbolTable.java, though I don't see it ever being called, 
which must be why the SA still worked. 8-)

The SA does not have a size accessor for StringTable, I am wondering if 
we should remove this one too if it's never used.  Will test and reply 
again...

Thanks
Kevin


More information about the serviceability-dev mailing list