On Wed, 5 Jun 2024 17:00:34 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

>> Okay, thanks. What about the following: :
>> 
>> diff --git a/src/hotspot/share/prims/jvmti.xml 
>> b/src/hotspot/share/prims/jvmti.xml
>> index a6ebd0d42c5..a81014c70bb 100644
>> --- a/src/hotspot/share/prims/jvmti.xml
>> +++ b/src/hotspot/share/prims/jvmti.xml
>> @@ -995,7 +995,10 @@ jvmtiEnv *jvmti;
>>      across threads and are created dynamically.
>>    </intro>
>>  
>> -  <intro id="functionReturn" label="Function Return Values">
>> +  <intro id="functionReturn" label="Function Parameters and Return Values">
>> +    There are a few <jvmti/> functions where a parameter value can be a 
>> null pointer
>> +    (C <code>NULL</code> or C++ <code>nullptr</code>), e.g. the thread 
>> parameter
>> +    can be a null pointer to mean the current thread.
>>      <jvmti/> functions always return an
>>      <internallink id="ErrorSection">error code</internallink> via the
>>      <datalink id="jvmtiError"/> function return value.
>> @@ -1004,7 +1007,7 @@ jvmtiEnv *jvmti;
>>      In some cases, <jvmti/> functions allocate memory that your program must
>>      explicitly deallocate. This is indicated in the individual <jvmti/>
>>      function descriptions.  Empty lists, arrays, sequences, etc are
>> -    returned as a null pointer (C <code>NULL</code> or C++ 
>> <code>nullptr</code>).
>> +    returned as a null pointer.
>>      <p/>
>>      In the event that the <jvmti/> function encounters
>>      an error (any return value other than <code>JVMTI_ERROR_NONE</code>) 
>> the values
>> 
>> 
>> I can try to add a couple of more examples where a null pointer can be 
>> passed as a parameter value if it is desirable.
>
> I'm still not sure this works. It seems kind of muddled. Rather than trying 
> to retrofit in the clarifying text, why not start from scratch. That should 
> result in better organization and clearer descriptions. For example, I think 
> first you should clarify what is meant by a "null pointer". Maybe even make 
> that a separate section. I can take a stab at this later today if you want.

How about undoing the changes in this subsection and then just add the 
following as a preceding subsection:

**Null Pointers**

Parts of this specification refer to a "null pointer" as a possible function 
parameter or return value. A "null pointer" is C `NULL` or C++ `nullptr`.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/19257#discussion_r1628532037

Reply via email to