On Fri, 10 Jul 2026 10:31:34 GMT, Serguei Spitsyn <[email protected]> wrote:
>> Thanks, David. Updated as you suggested. > > Joe is also suggesting to summarize the value objects impact on JVMTI > functions and events. I'm thinking if the following would be good to add: > > diff --git a/src/hotspot/share/prims/jvmti.xml > b/src/hotspot/share/prims/jvmti.xml > index cbdecfc1cb1..33202ac6b5d 100644 > --- a/src/hotspot/share/prims/jvmti.xml > +++ b/src/hotspot/share/prims/jvmti.xml > @@ -930,6 +930,16 @@ Agent_OnUnload_L(JavaVM *vm)</example> > (instances of value classes) will not. <jvmti/> makes no distinction > between these cases > in general, but some specific functions will behave differently if > invoked upon > a Java object that does not have identity. > + <p/> > + Value objects can be tagged. Tags for value objects follow value equality > + semantics, and tagged value objects are kept alive while tagged. The > + <eventlink id="ObjectFree"/> event is not sent for tagged value objects. > + <p/> > + Value objects also affect allocation events, including > + <eventlink id="VMObjectAlloc"/> and <eventlink id="SampledObjectAlloc"/>, > + and functions related to value object constructor frames, including > + <functionlink id="GetLocalInstance"/>, <functionlink > id="GetLocalObject"/>, > + and <functionlink id="ForceEarlyReturnVoid"/>. > </intro> > > <functionsection label="Functions"> If there was a "what's new" section then I would agree, but I don't think it is appropriate to add this here. The places where value objects affect JVM TI should be described clearly in the JEP and in any associated release note IMO. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/2634#discussion_r3567153623
