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

Reply via email to