[master] RFR: JVMTI: Don't use object header for marking [v3]
Roman Kennke
rkennke at openjdk.java.net
Mon Mar 28 16:15:20 UTC 2022
On Mon, 28 Mar 2022 14:21:03 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> JVMTI marks objects in order to track whether or not it has already visited objects during heap walking. This uses the usual GC marking bits in the object header. However, this proves to be confusing and brittle because some GCs also uses those header bits for marking and/or indicating forwarded objects. In particular, it becomes unreliable for Shenandoah GC to distinguish JVMTI marked objects from forwarded objects.
>>
>> JVMTI should have no business in marking objects in their header. This change proposes to let JVMTI use its own (temporary) marking bitmap instead. This decouples JVMTI better from GCs.
>>
>> Testing:
>> - [x] tier1
>> - [x] tier2
>> - [ ] tier3
>
> Roman Kennke has updated the pull request incrementally with two additional commits since the last revision:
>
> - Merge remote-tracking branch 'origin/jvmti-marking' into jvmti-marking
> - Simpler needs_reset handling
Withdrawing this in favor of https://github.com/openjdk/jdk/pull/7964
-------------
PR: https://git.openjdk.java.net/lilliput/pull/45
More information about the lilliput-dev
mailing list