RFR (XL): 8202845: Refactor reference processing for improved parallelism
Kim Barrett
kim.barrett at oracle.com
Wed Jun 13 20:08:27 UTC 2018
> On Jun 13, 2018, at 5:18 AM, Thomas Schatzl <thomas.schatzl at oracle.com> wrote:
>
> Hi Kim,
>
> On Tue, 2018-06-12 at 17:18 -0400, Kim Barrett wrote:
>>> On Jun 12, 2018, at 3:39 PM, Kim Barrett <kim.barrett at oracle.com>
>>> wrote:
>>>
>>>> On Jun 12, 2018, at 2:19 PM, Thomas Schatzl
>>>> <thomas.schatzl at oracle.com> wrote:http://cr.openjdk.java.net/~tsc
>>>> hatzl/8202845/webrev.1_to_2 (diff)
>>>> http://cr.openjdk.java.net/~tschatzl/8202845/webrev.2 (full)
>>>
>>> Looks good.
>>
>> One more thing I just noticed.
>>
>> src/hotspot/share/gc/shared/referenceProcessor.cpp
>> 865 log_reflist("Phase2 Soft after", _discoveredSoftRefs,
>> _max_num_queues);
>> 866 log_reflist("Phase2 Weak after", _discoveredWeakRefs,
>> _max_num_queues);
>>
>> at the end of process_soft_weak_final_refs. At this stage, I think
>> there must be no soft or weak references. Better to assert that than
>> log empty sets.
>>
>> Similarly at the end of process_phantom_refs.
>>
>> And the same is true for process_final_keep_alive.
>>
>
> fixed in
>
> http://cr.openjdk.java.net/~tschatzl/8202845/webrev.2_to_3 (diff)
> and
> http://cr.openjdk.java.net/~tschatzl/8202845/webrev.3 (full)
>
> Currently running hs-tier1-3, but I do not expect issues.
>
> Thanks!
>
> Thomas
Looks good, except verify_total_count_zero should be debug-only rather than !PRODUCT.
In an “optimized" build it does nothing except waste time (calls total_count but does nothing
with the result because assert is suppressed).
More information about the hotspot-gc-dev
mailing list