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

Reply via email to