RFC: 8223915: JVMTI Spec: can_redefine_any_class capability spec is inconsistent

David Holmes david.holmes at oracle.com
Thu May 16 09:25:13 UTC 2019


Hi Serguei,

On 16/05/2019 5:22 pm, serguei.spitsyn at oracle.com wrote:
> **Note #2*
> 
> Just realized there is an incorrectness in current spec of this 
> capability an_redefine_any_class.
> 
> This section
> https://docs.oracle.com/en/java/javase/11/docs/specs/jvmti.html#jvmtiCapabilities.can_redefine_any_class
> 
> tells:
>   "Can modify (retransform or redefine) any modifiable class."
> 
> It is just wrong. Instead, it should tell:
>   "Can modify (retransform or redefine) any class except primitive, array,
>    and some implementation defined classes."

But that's what it does say by saying "any modifiable class".

David
-----

> In another place it is defined as:
>   "If possessed then all classes (except primitive, array, and some 
> implementation
>    defined classes) are modifiable (redefine or retransform). "
> 
> For reference, see the section "Optional Features" here:
> https://docs.oracle.com/en/java/javase/11/docs/specs/jvmti.html#IsModifiableClass
> 
> I'll update the CSR to fix this issue.
> 
> Thanks,
> Serguei
> 
>>
>> -Alan
> 


More information about the serviceability-dev mailing list