RFR: 8322484: 22-b26 Regression in J2dBench-bimg_misc-G1 (and more) on Windows-x64 and macOS-x64
Albert Mingkun Yang
ayang at openjdk.org
Thu Jan 25 16:57:37 UTC 2024
On Thu, 25 Jan 2024 16:22:59 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:
>> src/hotspot/share/gc/g1/g1YoungCollector.cpp line 544:
>>
>>> 542: assert(G1ThreadLocalData::pin_count_cache(thread).count() == 0, "must be flushed");
>>> 543: }
>>> 544: #endif
>>
>> It's not obvious to see this assert in this context. I wonder if it's cleaner (or more natural) if it's moved to `JavaThreadRetireTLABAndFlushLogs`, where we flush the cache.
>
> It was meant similarly to the call to `_g1h->verifier()->check_region_attribute_table()` call to verify post conditions for that GC phase.
> Putting it right after `JavaThreadRetireTLABAndFlushLogs` seems too close to the change to kind of make it kind of redundant - i.e. that task is small enough to understand it at a glance anyway (well, me at least).
>
> Thinking again, it might be most useful to put this into a method (like mentioned `check_region_attribute_table`) and call it there to be able to use it elsewhere during debugging if needed.
>
> Of course, we can also just remove this - what do you think?
Removing it is better, IMO.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17552#discussion_r1466669935
More information about the hotspot-gc-dev
mailing list