RFR 8026985: Rewrite SystemDictionary::classes_do and Dictionary::classes_do to use KlassClosure

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Fri Mar 10 15:05:11 UTC 2017



On 3/10/17 4:07 AM, serguei.spitsyn at oracle.com wrote:
> Hi Coleen,
>
> Nice cleanup!
> It looks good to me.
> I'm also interested in reply to David's questions.
>
> One minor comment:
>
> http://cr.openjdk.java.net/~coleenp/8026985.01/webrev/src/share/vm/services/heapDumper.cpp.udiff.html 
>
>
> - SystemDictionary::always_strong_classes_do(&class_dumper);
> + 
> ClassLoaderData::the_null_class_loader_data()->classes_do(&class_dumper);
> + //SystemDictionary::always_strong_classes_do(&class_dumper); It is 
> probably better to remove the commented line.
>

I commented this out because this was the last use of this function, so 
now I've removed the function.

The placeholders->classes_do() was left over from PermGen.  It was 
extracted out of oops_do() when we did that work.  I removed that also.

Thanks for noticing this.   New webrev:

open webrev at http://cr.openjdk.java.net/~coleenp/8026985.02/webrev

Thanks,
Coleen
>
> Thanks,
> Serguei
>
>
>
> On 3/8/17 08:24, coleen.phillimore at oracle.com wrote:
>> Summary: Clean up and examine uses of classes_do for the 
>> SystemDictionary
>>
>> See bug comments for more details.  I wanted to clean this up while 
>> examining the idea of having system dictionary information added per 
>> ClassLoaderData, rather than a global table.
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/8026985.01/webrev
>> bug link https://bugs.openjdk.java.net/browse/JDK-8026985
>>
>> Tested with java.lang.instrument, sun.com.jdi, tonga colocated 
>> (closed) tests, and JPRT, because of difference in which classes_do 
>> is called for heap dumping.
>>
>> Note, will update copyrights on commit.
>>
>> Thanks,
>> Coleen
>



More information about the hotspot-runtime-dev mailing list