[master] RFR: Unconditionally preserve all marks during GC [v2]

Roman Kennke rkennke at openjdk.java.net
Wed May 19 18:05:56 UTC 2021

On Wed, 19 May 2021 17:28:35 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Looks fine to me as experimental code.

However, I noticed that we (will) have another problem during GC: For sliding compaction, while objects are forwarded, we will also require the Klass* *at the same time* e.g. for heap traversal. Which means, we cannot simply override the Klass* in the header, not even temporarily. Solutions to this could be avoiding klass-based traversal (e.g. using bitmaps, but serial/parallel GC don't use a bitmap), or an external forwarding table. If we go for the forwarding table, which is what I'm currently leaning to, we don't need the preserved-marks anymore. I need to think this through a little bit.


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

More information about the lilliput-dev mailing list