RFR 8209821: Make JVMTI GetClassLoaderClasses not walk CLDG
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Fri Aug 24 18:59:15 UTC 2018
On 8/24/18 11:44 AM, Lois Foltan wrote:
> On 8/23/2018 8:37 AM, coleen.phillimore at oracle.com wrote:
>
>> Summary: And also added function with KlassClosure to remove the hacks.
>>
>> There are about 10 vmTestbase/nsk/jvmti tests that test various parts
>> of this change. Also ran mach5 tier1-7.
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/8209821.01/webrev
>> bug link https://bugs.openjdk.java.net/browse/JDK-8209821
>>
>> Thanks,
>> Coleen
>
> Hi Coleen,
>
> I think this is a good clean up. Couple of comments.
>
> - memory/universe.cpp
> You could make basic_type_classes_do() be a for loop
> for (int i = 0; i < T_VOID+1; i++) {
> closure->do_klass(typeArrayKlassObjs[i]());
> }
Interesting observation. This is equivalent except T_OBJECT and T_ARRAY
elements aren't initiatialized. I believe that the do_klass in the
closure I am passing will choke on NULL. I've never understood why
these statics needed to be duplicated like this, and have tried to clean
this up before. Maybe an RFE to do so would be better.
>
> - prims/jvmtiGetLoadedClasses.cpp
> In JvmtiGetLoadedClasses::getClassLoaderClasses() you could pull the
> call to basic_type_classes_do() from both sections of the if statement
> to line #139
Thanks, I'll fix it.
Thanks for the code review.
Coleen
>
> Thanks,
> Lois
More information about the serviceability-dev
mailing list