RFR (M): 8217778: StringTable cleanup miscalculates amount of dead objects

Thomas Schatzl thomas.schatzl at oracle.com
Tue Jan 29 18:37:21 UTC 2019


Hi,

On Tue, 2019-01-29 at 13:12 -0500, coleen.phillimore at oracle.com wrote:
> 
> 
> On 1/29/19 4:51 AM, Thomas Schatzl wrote:
> > Hi,
> > 
> > On Mon, 2019-01-28 at 16:46 -0500, coleen.phillimore at oracle.com
> > wrote:
> > > Hi Thomas,  Can you forward the review thread for JDK-8213229?
> > 
> >   the thread starts at 
> > 
http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2019-January/024474.html
> >  , but the interesting part is probably starting here 
> > 
http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2019-January/024649.html
> >  .
>  
> So this moves StringTable processing into the WeakProcessor.  good! 
> Not a review though.
> 
> 
http://cr.openjdk.java.net/~tschatzl/8217778/webrev/src/hotspot/share/gc/shared/weakProcessor.inline.hpp.frames.html
> 
> If these Counting closures are only used in the weakProcessor.cpp
> file, they should be defined there.  It looks like their use was
> moved.

They are also used in the inline.hpp file.

> 
> 
http://cr.openjdk.java.net/~tschatzl/8217778/webrev/src/hotspot/share/gc/shared/weakProcessor.cpp.frames.html
> 
> I don't know what "is_serial does but it doesn't look like you're
> using the num_dead() count when calling processor.
> 
>  40     if (WeakProcessorPhases::is_serial(phase)) {
>   41       CountingIsAliveClosure<BoolObjectClosure> cl(is_alive);
>   42       WeakProcessorPhases::processor(phase)(&cl, keep_alive);
>   43     } else {
>   44       CountingSkippedIsAliveClosure<BoolObjectClosure,
> OopClosure> cl(is_alive, keep_alive);
>   45       WeakProcessorPhases::oop_storage(phase)->oops_do(&cl);
>   46       if (WeakProcessorPhases::is_stringtable(phase)) {
>   47         StringTable::inc_dead_counter(cl.num_dead() +
> cl.num_skipped());
>   48       }
>   49     }

I cleaned this up already, Kim had the same comment. Only need to send
out another webrev for 8217778.

Thanks,
  Thomas




More information about the hotspot-gc-dev mailing list