RFR: JDK-8297796 GenShen: instrument the remembered set scan [v15]

Y. Srinivas Ramakrishna ysr at openjdk.org
Wed Dec 28 00:40:15 UTC 2022


On Tue, 27 Dec 2022 23:22:52 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> 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).

Fixed.

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

PR: https://git.openjdk.org/shenandoah/pull/176


More information about the shenandoah-dev mailing list