RFR: 8231672: Simplify the reference processing parallelization framework [v5]

Leo Korinth lkorinth at openjdk.java.net
Tue Apr 27 13:14:42 UTC 2021


On Sat, 24 Apr 2021 09:43:11 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:

>> Leo Korinth has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains seven commits:
>> 
>>  - make RefProcTask a StackObj
>>  - Merge branch 'master' into _8231672
>>  - using proxies instead of ClosureContexts
>>  - remove maybe prefix, change in one place to nullable
>>  - Merge branch 'master' into _8231672
>>  - Changes after first review
>>  - 8231672: Simplify the reference processing parallelization framework
>
> src/hotspot/share/gc/shared/referenceProcessor.hpp line 631:
> 
>> 629:   uint index(uint id) const {
>> 630:     return (_tm == RefProcThreadModel::Single) ? 0 : id;
>> 631:   }
> 
> This method is only used by G1; I wonder if it's possible to not include it in the API of `RefProcProxyTask`.

I could --- and maybe should --- but then I need to supply `_tm` as an argument, further I need to find a logical place to put the function and the declaration, and if I add it to `referenceProcessor.?pp` I have not made it less generic. If I add it to a G1 file, it seems to me arbitrary which to use. If you find a nice place to put it, I will move it, otherwise I will keep it where it is. I will not create a new file for the function and would in that case prefer to inline expand the code.

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

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



More information about the hotspot-gc-dev mailing list