RFR (M) 8207359: Make SymbolTable increment_refcount disallow zero

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Fri Jul 20 19:04:39 UTC 2018

On 7/20/18 2:24 PM, Kim Barrett wrote:
>> On Jul 19, 2018, at 6:14 PM, coleen.phillimore at oracle.com wrote:
>> Hi, There is a closed test that does 100,000 lookups on a class that fails resolution, so creates 100,000 Symbols with TempNewSymbol. This results in many zeroed refcounted Symbols in the table which increases lookup time with the current SymbolTable.  With the new concurrent symbol table, which this change is intended to support, the zero refcount symbols are cleaned up on insert and concurrently.
>> I have a workaround so that this test doesn't time out.   These are the times for this test on my machine.
>> old hashtable no patch: 7.32 seconds
>> without workaround: 367 seconds (which can time out on a slow machine)
>> with workaround:  61.075 seconds
>> with new hashtable: 9.135 seconds
>> There are several ways to fix the old hashtable so that it cleans more frequently for this situation but it's not worth doing with the new concurrent hashtable coming.
>> open webrev at http://cr.openjdk.java.net/~coleenp/03.incr/webrev
>> Thanks,
>> Coleen
> Looks good with Gerard’s suggested improvement.

Thanks, Kim!

More information about the hotspot-runtime-dev mailing list