RFR: 8080106: Refactor setup of parallel GC threads
Kim Barrett
kim.barrett at oracle.com
Thu May 14 17:03:45 UTC 2015
On May 13, 2015, at 11:01 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
>
> On May 13, 2015, at 9:17 AM, Stefan Karlsson <stefan.karlsson at oracle.com> wrote:
>>
>> Hi all,
>>
>> Please review these patches to unify the ways we specify the number of used worker threads. The main goal for these patches is to get rid of CollectedHeap::set_par_threads() and CollectedHeap::n_par_threads().
>>
>> The RFE has been split into multiple sub-tasks:
>> 8080109: Use single-threaded code in Threads::possibly_parallel_oops_do when running with only one worker thread
>> 8080110: Remove usage of CollectedHeap::n_par_threads() from root processing
>> 8080111: Remove SubTaskDone::_n_threads
>> 8080112: Replace and remove the last usages of CollectedHeap::n_par_threads()
>> 8080113: Remove CollectedHeap::set_par_threads()
>>
>> See the description below for each individual patch:
>
> Thanks for breaking this up into multiple webrevs.
>
> I'm only part way through; I haven't looked at the webrev for 8080113
> yet. Here's what I've got so far.
And here are my 8080113 comments:
==============================================================================
http://cr.openjdk.java.net/~stefank/8080113/webrev.00
8080113: Remove CollectedHeap::set_par_threads()
------------------------------------------------------------------------------
src/share/vm/gc_implementation/g1/concurrentMark.cpp
2001 uint n_workers = _g1h->workers()->active_workers();
...
2042 G1ParNoteEndTask g1_par_note_end_task(g1h, &_cleanup_list, n_workers);
With the various cleanups, the declaration of n_workers is now a long
way from its first use.
------------------------------------------------------------------------------
> ==============================================================================
> http://cr.openjdk.java.net/~stefank/8080112/webrev.00
> 8080112: Replace and remove the last usages of CollectedHeap::n_par_threads()
>
> […]
> ------------------------------------------------------------------------------
> src/share/vm/gc_interface/collectedHeap.hpp
> 294 virtual void set_par_threads(uint t) { (void)t; };
>
> The "standard" way to ignore a parameter is to not name it, e.g.
>
> virtual void set_par_threads(uint /* t */) { }
>
> Pre-existing defect: The trailing semi-colon isn't needed.
And none of this matters, since the offending function will be removed in 8080113.
More information about the hotspot-gc-dev
mailing list