On Tue, 17 Nov 2020 10:16:28 GMT, Stefan Johansson <sjoha...@openjdk.org> wrote:

>> Thomas Schatzl has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains three commits:
>> 
>>  - Merge branch 'master' of https://git.openjdk.java.net/jdk into 
>> 8253081-null-narrow-klass-changes2
>>  - kbarrett review
>>  - Initial import
>
> I've been focusing on the GC-parts and it looks good in general just a few 
> comments.

Ran tier1-4, tier5-gc with the changes from ea78aa1 (contributed by @iklam 
after some discussion).

> src/hotspot/share/gc/g1/g1FullGCPrepareTask.hpp line 60:
> 
>> 58:     G1FullGCCompactionPoint* _cp;
>> 59:     uint _humongous_regions_removed;
>> 60:     uint _open_archive_regions_freed;
> 
> Since we no longer use these counters to update the sets, it is enough to 
> just have one counter to track if any region has been freed. Or use a boolean 
> if you prefer that.

Fixed.

> src/hotspot/share/gc/g1/g1CollectedHeap.cpp line 4458:
> 
>> 4456:   heap_region_iterate(&cl);
>> 4457: 
>> 4458:   remove_from_old_gen_sets(0, 0, cl.humongous_regions_reclaimed());
> 
> Looking at this call and now having three parameters that are "optional" for 
> `remove_from_old_gen_sets()` I wonder if it would be cleaner to have three 
> functions, one for each set. It would increase the number of times we take 
> the look, but we could restructure the code in `G1ReclaimEmptyRegionsTask` to 
> not do the updates in the worker threads and that way only take the lock when 
> there will be no contention. 
> 
> If you fell like this is outside the scope of this change, please file an 
> issue instead.

I am not very clear on what the problem there is and how the parameters are 
optional. I do not completely understand how adding an extra method just for 
this caller would improve the code significantly.

I'll opt to defer this cleanup to a separate CR.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1163

Reply via email to