RFR: 8336944: Shenandoah: Should only relativize stack chunks for successful evacuations

Aleksey Shipilev shade at openjdk.org
Tue Jul 23 10:28:32 UTC 2024


On Tue, 23 Jul 2024 09:56:59 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

> IIRC, it requires the Klass*. With Lilliput, it is possible that the copy that lost the CAS copied the fwd-ptr that the winning thread installed. I guess we could follow through that fwd-ptr and grab the Klass* from the winning copy, but why bother?

Right, I remembered this one: https://github.com/openjdk/lilliput/blob/fdfcf46a3a4bfcf0f58f9413788aed8acc746203/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp#L1171-L1185

I would sleep a little better if we did is similarly: reinstall the mark word into a private copy if we pulled the fwdptr already, instead of relying on concurrent relativization of the already published copy.

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

PR Comment: https://git.openjdk.org/jdk/pull/20288#issuecomment-2244835474


More information about the hotspot-gc-dev mailing list