On Fri, 7 Aug 2026 04:59:03 GMT, Chris Plummer <[email protected]> wrote:
>>> You have got it in a wrong way. >> >> No I understand it, though I may not be expressing it well. But I find it >> very hard to interpret the suggested words in a way that actually explains >> it. This is the "connect the dots" that Chris refers to. The wording may be >> factually correct, but actually understanding what it means requires >> additional insight. > > This current explanation is going to be very hard for most readers to grasp. > We tend to not notice this difficulty because when we read it we already have > a full understanding of what it means and how it is implemented. Readers > without our background are going to have difficulty fulling grasping what > this means. For now, value objects can be tagged. The important thing that JVMTI agent maintainers needs to understsand is that there isn't an ObjectFree event for value objects so can't be used to know when a value object is GC'ed. There is a sentence in the "Object Tags" section but that's deep in the spec and I think the intention with the "Identity and Value Objects" section was to have a summary of differences in the introduction. Yes, it's hard to explain what an object tag means for a value object. The JLS and API docs are moving to use the term "indistinguishable" which makes me wonder if something along these lines could work here: "Value objects can be tagged by <jvmti/>, but the tag is associated with the object’s class and field values, as it has no identity. Two value object references are indistinguishable if they are the same class and their fields have indistinguishable values. Indistinguishable value objects have the same tag." ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/32211#discussion_r3735451029
