RFR: JDK-8297796 GenShen: instrument the remembered set scan [v15]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Tue Dec 27 23:25:14 UTC 2022
On Tue, 27 Dec 2022 22:04:49 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
>> Y. Srinivas Ramakrishna has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 68 commits:
>>
>> - Merge branch 'master' into JVM-1264
>> - A couple of changes based on review feedback.
>> - Reword some code comments for greater clarity.
>> - Merge branch 'master' into JVM-1264-dependent
>> - Add a previously missed ticket#. Doing it here rather than in parent to
>> avoid an otherwise unnecessary re-review touchpoint.
>> - Merge branch 'stats_merge' into JVM-1264-dependent
>> - Merge branch 'master' into stats_merge
>> - jcheck space fix
>> - Fix compiler error on windows.
>> - Fix some tier1 tests.
>> - ... and 58 more: https://git.openjdk.org/shenandoah/compare/d793fd16...4e5ad4ca
>
> src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp line 321:
>
>> 319: // 3. Non-array objects are precisely dirtied by the interpreter and the compilers
>> 320: // (why? Are offsets of a field in an object that expensive to determine?).
>> 321: // For such objects that extend over multiple cards, or even multiple clusters,
>
> Historically, we borrowed the card-marking barrier from existing generational GC implementations and did not want to burden ourselves with trying to change it. Presumably, experience with other GCs demonstrates that this works "well enough". It would appear that non-array objects are usually not "extremely large".
I realize that my comments in lines 324-328 were aspirational for changes I wanted to make but which is not the case today. I'll correct those and a few other such "aspirational" comments that got left behind in the code as I was working on subsequent changes.
It is true what you say that non-array objects are usually not very large (unless the result of code generated by frameworks such as, e.g., protobufs).
-------------
PR: https://git.openjdk.org/shenandoah/pull/176
More information about the shenandoah-dev
mailing list