[master] RFR: Implement Shenandoah support [v22]

Roman Kennke rkennke at openjdk.java.net
Wed Apr 20 12:36:11 UTC 2022


On Wed, 20 Apr 2022 12:26:26 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

>> src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp line 337:
>> 
>>> 335:           "end of concurrent marking.")                                     \
>>> 336:                                                                             \
>>> 337:   product(bool, ShenandoahSuspendibleWorkers, true, EXPERIMENTAL,           \
>> 
>> Why this is needed?
>
> Any comments on this? Why does it relevant?

Ah yes. We must coordinate with concurrent monitor deflation. Specifically, we must prevent monitors from being deflated while we try to get hold of the object mark word for fetching the object size during evacuation. The protocol is relatively simple: relevant threads must respond to safepoint and/or suspension requests.
See also: https://github.com/openjdk/lilliput/blob/47392f37f85747c0e82d21ee475ffa2935c17a0b/src/hotspot/share/runtime/synchronizer.cpp#L1590

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

PR: https://git.openjdk.java.net/lilliput/pull/32


More information about the lilliput-dev mailing list