RFR (M) 8213753: SymbolTable is double walked during class unloading and clean up table timing in do_unloading

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Tue Jan 29 22:29:13 UTC 2019


Thank you for reviewing, Stefan.

On 1/29/19 5:10 PM, Stefan Karlsson wrote:
> GC and SystemDictionary::do_unloading changes look good.
>
> https://cr.openjdk.java.net/~coleenp/2019/8213753.01/webrev/src/hotspot/share/classfile/symbolTable.hpp.udiff.html 
>
>
> I think you should move the implementation of these to the cpp file:
>
> + void reset_has_items_to_clean() { Atomic::store(false, 
> &_has_items_to_clean); }
> + void mark_has_items_to_clean() { Atomic::store(true, 
> &_has_items_to_clean); }
> + bool has_items_to_clean() const { return 
> Atomic::load(&_has_items_to_clean); }

Sure, I can do that.  We moved these atomics to the .hpp file so we 
could do this now, but since they're used in the .cpp file, it makes 
sense there.

Thanks,
Coleen

>
> Thanks,
> StefanK
>
> On 2019-01-29 20:39, coleen.phillimore at oracle.com wrote:
>> Summary: remove gc timing for short runtime cleanup triggering; make 
>> symbol table cleaning triggered automatically on unloading
>>
>> Ran runThese with all Oracle GCs and got similar numbers of symbols 
>> unloaded.  Also ran tier1-5.
>>
>> See bug for more information.
>>
>> open webrev at 
>> http://cr.openjdk.java.net/~coleenp/2019/8213753.01/webrev
>> bug link https://bugs.openjdk.java.net/browse/JDK-8213753
>>
>> Thanks,
>> Coleen
>



More information about the hotspot-dev mailing list