RFR(XS) 8212612 - Add documentation about Arguments::_exit_hook

Ioi Lam ioi.lam at oracle.com
Wed Oct 17 21:35:58 UTC 2018



On 10/17/2018 02:27 PM, dean.long at oracle.com wrote:
> On 10/17/18 9:33 AM, Ioi Lam wrote:
>> http://cr.openjdk.java.net/~iklam/jdk12/8212612-exit-hook-docs.v01/
>> https://bugs.openjdk.java.net/browse/JDK-8212612
>>
>> The following fields are assigned to according to 
>> JavaVMOption.optionString.
>>
>>   abort_hook_t Arguments::_abort_hook = NULL;
>>   exit_hook_t Arguments::_exit_hook = NULL;
>>   vfprintf_hook_t Arguments::_vfprintf_hook = NULL;
>>
>> However, there's no code in the JDK repo that uses these options.
>> Instead, they are intended for programs that embed the JVM using
>> JNI_CreateJavaVM.
>>
>> We should add comments in arguments.cpp for clarification. Otherwise
>> this would look like dead code and someone might be tempted to
>> remove it.
>>
>> Thanks
>> - Ioi
>
> But it's not dead code.  All three are used.  For example, see 
> jio_vfprintf().
>
> dl

Hi Dean, thanks for looking into this.

I was afraid someone would infer that since nowhere in the JDK code 
would do anything to assign _vfprintf_hook to a non-NULL value, the block

   if (Arguments::vfprintf_hook() != NULL) {
     jio_fprintf(defaultStream::output_stream(), "%.*s", (int)len, s);
   }

would be effectively dead code.

Thanks
- Ioi


More information about the hotspot-dev mailing list