RFR: 8315559: Delay TempSymbol cleanup to avoid symbol table churn [v7]

Oli Gillespie ogillespie at openjdk.org
Thu Nov 9 18:27:08 UTC 2023


On Thu, 9 Nov 2023 18:11:33 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> Oli Gillespie has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Set queue size to power of 2, use constant in test
>
> test/hotspot/gtest/classfile/test_symbolTable.cpp line 37:
> 
>> 35:   ThreadInVMfromNative ThreadInVMfromNative(THREAD);
>> 36:   // Disable the temp symbol cleanup delay queue because it increases refcounts.
>> 37:   TempNewSymbol::set_cleanup_delay_enabled(false);
> 
> So we have additional check for "enabled" flag in hot production code only to make these tests happy? If so, can we "just" drain the delay queue after new_symbol here? Maybe with helper method here in test?

Yes that's true. I can try to avoid it.

> test/hotspot/gtest/classfile/test_symbolTable.cpp line 148:
> 
>> 146: }
>> 147: 
>> 148: TEST_VM(SymbolTable, test_cleanup_delay) {
> 
> Please another test that checks that `drain_cleanup_delay_queue` also does decrement refcounts?

Good idea, will add

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/16398#discussion_r1388418502
PR Review Comment: https://git.openjdk.org/jdk/pull/16398#discussion_r1388419267


More information about the hotspot-dev mailing list