RFR (S) 8178336: Unnecessary SystemDictionary walk for Protection domain liveness
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Tue Apr 11 11:50:12 UTC 2017
Hi Jiangli, Thank you for looking at this.
On 4/10/17 9:44 PM, Jiangli Zhou wrote:
> Hi Coleen,
>
> I noticed there are two comments in Dictionary::do_unloading() refer
> to always_strong_oops_do. They should be updated as well.
>
> 150 // The placeholder array has been handled in always_strong_oops_do.
This comment makes no sense in this context so I removed it.
> 160 // Non-unloadable classes were handled in always_strong_oops_do
This comment doesn't make sense either in this context, and this whole
"strongly reachable" idea in this loop is odd. If !ClassUnloading, all
of the classes are "strongly reachable" so we shouldn't really bother
going through this loop at all. The other "strongly reachable" class is
the NULL class loader, where this "if" statement does make sense. I've
made changes to this area in following work, so I'll remove this comment
for now.
Thanks!
Coleen
> Thanks,
> Jiangli
>
>> On Apr 10, 2017, at 1:18 PM, coleen.phillimore at oracle.com
>> <mailto:coleen.phillimore at oracle.com> wrote:
>>
>> Summary: remove system dictionary walk and pass strong closure for
>> !ClassUnloading
>>
>> See bug for more details:
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/8178336.01/webrev
>> <http://cr.openjdk.java.net/%7Ecoleenp/8178336.01/webrev>
>> bug link https://bugs.openjdk.java.net/browse/JDK-8178336
>>
>> Tested with nightly tier2-5 tests and jprt (runs all GCs) and
>> runThese with -XX:-ClassUnloading.
>>
>> Thanks,
>> Coleen
>
More information about the hotspot-dev
mailing list