RFR: 8221359: Eliminate SATBMarkQueueSet::filter_thread_buffers

Kim Barrett kim.barrett at oracle.com
Fri May 3 00:31:03 UTC 2019


> On May 2, 2019, at 3:15 PM, sangheon.kim at oracle.com wrote:
> 
> Hi Kim,
> 
> On 4/1/19 12:40 AM, Kim Barrett wrote:
>> Please review this removal of the function used by G1 to clean up the
>> per-thread SATB queues when a young-only collection will have moved
>> young object references present in those queues.  This cleanup isn't
>> needed, since the same cleanup may be done before enqueuing a
>> completed queue buffer, and will also be done during the eventual
>> processing of the buffer contents.  Having this function called during
>> a pause just moves some work from the concurrent phase into a pause,
>> which isn't a good tradeoff.
>> 
>> Also renamed G1GCPhaseTimes::ExtRootScanSubPhases(Start|End) =>
>> ExtRootScanSubPhases(First|Last), to remove the ambiguity over whether
>> "end" is inclusive or exclusive.  (It was inclusive here.)
>> 
>> CR:
>> https://bugs.openjdk.java.net/browse/JDK-8221359
>> 
>> Webrev:
>> http://cr.openjdk.java.net/~kbarrett/8221359/open.00/
> Looks good.
> But on the latest source code, there's a conflict at g1RootProcessor.hpp.

Thanks, and thanks for the warning about the conflict.  It looks easy to resolve.

> 
> Thanks,
> Sangheon
> 
>> 
>> Testing:
>> mach5 tier1-3





More information about the hotspot-gc-dev mailing list