RFR: 8337511: Implement JEP 404: Generational Shenandoah (Experimental) [v6]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Wed Nov 27 02:30:01 UTC 2024
On Wed, 20 Nov 2024 00:01:49 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp line 474:
>>
>>> 472: // elision safe.
>>> 473: return;
>>> 474: }
>>
>> Why is this safe for Shenandoah? I suspect it needs `CardTableBarrierSet::on_slowpath_allocation_exit` to work. `G1BarrierSetC2` gets it by subclassing `CardTableBarrierSetC2`. But `ShenandoahBarrierSetC2` does not. Should it?
>
> Good question. I'm tracking at https://bugs.openjdk.org/browse/JDK-8344593 , and will follow up there.
A code review indicates that the code is fine, but the comment could be improved. A quick test of performance didn't indicate (with specjbb) any difference in performance (done only for GenShen) but a more complete suite of performance tests is being run to assess the efficacy of the optimization. I'm inclined to leave this in, since eliding card-marks doesn't hurt, even if it doesn't seem to help much either. The comment will be adjusted as part of the above ticket.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1859698145
More information about the shenandoah-dev
mailing list