< prev index next >

src/hotspot/share/prims/jvmti.xml

Print this page




7611         <p/>
7612         Threads need not be suspended.
7613         <p/>
7614         All breakpoints in the class are cleared.
7615         <p/>
7616         All attributes are updated.
7617         <p/>
7618         Instances of the retransformed class are not affected -- fields retain their
7619         previous values.
7620         <functionlink id="GetTag">Tags</functionlink> on the instances are
7621         also unaffected.
7622         <p/>
7623         In response to this call, no events other than the
7624         <eventlink id="ClassFileLoadHook"/> event
7625         will be sent.
7626         <p/>
7627         The retransformation may change method bodies, the constant pool and attributes
7628         (unless explicitly prohibited).
7629         The retransformation must not add, remove or rename fields or methods, change the
7630         signatures of methods, change modifiers, or change inheritance.
7631         The retransformation must not change the <code>NestHost</code> or
7632         <code>NestMembers</code> attributes.
7633         These restrictions may be lifted in future versions.
7634         See the error return description below for information on error codes
7635         returned if an unsupported retransformation is attempted.
7636         The class file bytes are not verified or installed until they have passed
7637         through the chain of <eventlink id="ClassFileLoadHook"/> events, thus the
7638         returned error code reflects the result of the transformations.
7639         If any error code is returned other than <code>JVMTI_ERROR_NONE</code>,
7640         none of the classes to be retransformed will have a new definition installed.
7641         When this function returns (with the error code of <code>JVMTI_ERROR_NONE</code>)
7642         all of the classes to be retransformed will have their new definitions installed.
7643       </description>
7644       <origin>new</origin>
7645       <capabilities>
7646         <required id="can_retransform_classes"></required>
7647         <capability id="can_retransform_any_class"></capability>
7648       </capabilities>
7649       <parameters>
7650         <param id="class_count">
7651           <jint min="0"/>
7652           <description>


7764         <p/>
7765         Threads need not be suspended.
7766         <p/>
7767         All breakpoints in the class are cleared.
7768         <p/>
7769         All attributes are updated.
7770         <p/>
7771         Instances of the redefined class are not affected -- fields retain their
7772         previous values.
7773         <functionlink id="GetTag">Tags</functionlink> on the instances are
7774         also unaffected.
7775         <p/>
7776         In response to this call, the <jvmti/> event
7777         <eventlink id="ClassFileLoadHook">Class File Load Hook</eventlink>
7778         will be sent (if enabled), but no other <jvmti/> events will be sent.
7779         <p/>
7780         The redefinition may change method bodies, the constant pool and attributes
7781         (unless explicitly prohibited).
7782         The redefinition must not add, remove or rename fields or methods, change the
7783         signatures of methods, change modifiers, or change inheritance.
7784         The retransformation must not change the <code>NestHost</code> or
7785         <code>NestMembers</code> attributes.
7786         These restrictions may be lifted in future versions.
7787         See the error return description below for information on error codes
7788         returned if an unsupported redefinition is attempted.
7789         The class file bytes are not verified or installed until they have passed
7790         through the chain of <eventlink id="ClassFileLoadHook"/> events, thus the
7791         returned error code reflects the result of the transformations applied
7792         to the bytes passed into <paramlink id="class_definitions"/>.
7793         If any error code is returned other than <code>JVMTI_ERROR_NONE</code>,
7794         none of the classes to be redefined will have a new definition installed.
7795         When this function returns (with the error code of <code>JVMTI_ERROR_NONE</code>)
7796         all of the classes to be redefined will have their new definitions installed.
7797       </description>
7798       <origin>jvmdi</origin>
7799       <capabilities>
7800         <required id="can_redefine_classes"></required>
7801         <capability id="can_redefine_any_class"></capability>
7802       </capabilities>
7803       <parameters>
7804         <param id="class_count">
7805           <jint min="0"/>


14951        - The function may return NULL in the start phase if the
14952          can_generate_early_vmstart capability is enabled.
14953   </change>
14954   <change date="7 February 2018" version="11.0.0">
14955       Minor update for new class file NestHost and NestMembers attributes:
14956         - Specify that RedefineClasses and RetransformClasses are not allowed
14957           to change the class file NestHost and NestMembers attributes.
14958         - Add new error JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_ATTRIBUTE_CHANGED
14959           that can be returned by RedefineClasses and RetransformClasses.
14960   </change>
14961   <change date="20 May 2019" version="13.0.0">
14962       Minor spec update for the capability "can_redefine_any_class".
14963       It now says:
14964        "RedefineClasses can be called on any modifiable class. See IsModifiableClass.
14965        (can_redefine_classes must also be set)"
14966   </change>
14967   <change date="5 June 2019" version="13.0.0">
14968       Minor PopFrame spec update:
14969         - The specified thread must be suspended or must be the current thread.
14970           (It was not allowed to be the current thread before.)





14971   </change>
14972 </changehistory>
14973 
14974 </specification>
14975 <!-- Keep this comment at the end of the file
14976 Local variables:
14977 mode: sgml
14978 sgml-omittag:t
14979 sgml-shorttag:t
14980 sgml-namecase-general:t
14981 sgml-general-insert-case:lower
14982 sgml-minimize-attributes:nil
14983 sgml-always-quote-attributes:t
14984 sgml-indent-step:2
14985 sgml-indent-data:t
14986 sgml-parent-document:nil
14987 sgml-exposed-tags:nil
14988 sgml-local-catalogs:nil
14989 sgml-local-ecat-files:nil
14990 End:


7611         <p/>
7612         Threads need not be suspended.
7613         <p/>
7614         All breakpoints in the class are cleared.
7615         <p/>
7616         All attributes are updated.
7617         <p/>
7618         Instances of the retransformed class are not affected -- fields retain their
7619         previous values.
7620         <functionlink id="GetTag">Tags</functionlink> on the instances are
7621         also unaffected.
7622         <p/>
7623         In response to this call, no events other than the
7624         <eventlink id="ClassFileLoadHook"/> event
7625         will be sent.
7626         <p/>
7627         The retransformation may change method bodies, the constant pool and attributes
7628         (unless explicitly prohibited).
7629         The retransformation must not add, remove or rename fields or methods, change the
7630         signatures of methods, change modifiers, or change inheritance.
7631         The retransformation must not change the <code>NestHost</code>,
7632         <code>NestMembers</code>, or <code>PermittedSubtypes</code> attributes.
7633         These restrictions may be lifted in future versions.
7634         See the error return description below for information on error codes
7635         returned if an unsupported retransformation is attempted.
7636         The class file bytes are not verified or installed until they have passed
7637         through the chain of <eventlink id="ClassFileLoadHook"/> events, thus the
7638         returned error code reflects the result of the transformations.
7639         If any error code is returned other than <code>JVMTI_ERROR_NONE</code>,
7640         none of the classes to be retransformed will have a new definition installed.
7641         When this function returns (with the error code of <code>JVMTI_ERROR_NONE</code>)
7642         all of the classes to be retransformed will have their new definitions installed.
7643       </description>
7644       <origin>new</origin>
7645       <capabilities>
7646         <required id="can_retransform_classes"></required>
7647         <capability id="can_retransform_any_class"></capability>
7648       </capabilities>
7649       <parameters>
7650         <param id="class_count">
7651           <jint min="0"/>
7652           <description>


7764         <p/>
7765         Threads need not be suspended.
7766         <p/>
7767         All breakpoints in the class are cleared.
7768         <p/>
7769         All attributes are updated.
7770         <p/>
7771         Instances of the redefined class are not affected -- fields retain their
7772         previous values.
7773         <functionlink id="GetTag">Tags</functionlink> on the instances are
7774         also unaffected.
7775         <p/>
7776         In response to this call, the <jvmti/> event
7777         <eventlink id="ClassFileLoadHook">Class File Load Hook</eventlink>
7778         will be sent (if enabled), but no other <jvmti/> events will be sent.
7779         <p/>
7780         The redefinition may change method bodies, the constant pool and attributes
7781         (unless explicitly prohibited).
7782         The redefinition must not add, remove or rename fields or methods, change the
7783         signatures of methods, change modifiers, or change inheritance.
7784         The retransformation must not change the <code>NestHost</code>,
7785         <code>NestMembers</code>, or <code>PermittedSubtypes</code> attributes.
7786         These restrictions may be lifted in future versions.
7787         See the error return description below for information on error codes
7788         returned if an unsupported redefinition is attempted.
7789         The class file bytes are not verified or installed until they have passed
7790         through the chain of <eventlink id="ClassFileLoadHook"/> events, thus the
7791         returned error code reflects the result of the transformations applied
7792         to the bytes passed into <paramlink id="class_definitions"/>.
7793         If any error code is returned other than <code>JVMTI_ERROR_NONE</code>,
7794         none of the classes to be redefined will have a new definition installed.
7795         When this function returns (with the error code of <code>JVMTI_ERROR_NONE</code>)
7796         all of the classes to be redefined will have their new definitions installed.
7797       </description>
7798       <origin>jvmdi</origin>
7799       <capabilities>
7800         <required id="can_redefine_classes"></required>
7801         <capability id="can_redefine_any_class"></capability>
7802       </capabilities>
7803       <parameters>
7804         <param id="class_count">
7805           <jint min="0"/>


14951        - The function may return NULL in the start phase if the
14952          can_generate_early_vmstart capability is enabled.
14953   </change>
14954   <change date="7 February 2018" version="11.0.0">
14955       Minor update for new class file NestHost and NestMembers attributes:
14956         - Specify that RedefineClasses and RetransformClasses are not allowed
14957           to change the class file NestHost and NestMembers attributes.
14958         - Add new error JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_ATTRIBUTE_CHANGED
14959           that can be returned by RedefineClasses and RetransformClasses.
14960   </change>
14961   <change date="20 May 2019" version="13.0.0">
14962       Minor spec update for the capability "can_redefine_any_class".
14963       It now says:
14964        "RedefineClasses can be called on any modifiable class. See IsModifiableClass.
14965        (can_redefine_classes must also be set)"
14966   </change>
14967   <change date="5 June 2019" version="13.0.0">
14968       Minor PopFrame spec update:
14969         - The specified thread must be suspended or must be the current thread.
14970           (It was not allowed to be the current thread before.)
14971   </change>
14972   <change date="22 July 2019" version="14.0.0">
14973       Minor update for new class file PermittedSubtypes attribute:
14974         - Specify that RedefineClasses and RetransformClasses are not allowed
14975           to change the class file PemittedSubtypes attribute.
14976   </change>
14977 </changehistory>
14978 
14979 </specification>
14980 <!-- Keep this comment at the end of the file
14981 Local variables:
14982 mode: sgml
14983 sgml-omittag:t
14984 sgml-shorttag:t
14985 sgml-namecase-general:t
14986 sgml-general-insert-case:lower
14987 sgml-minimize-attributes:nil
14988 sgml-always-quote-attributes:t
14989 sgml-indent-step:2
14990 sgml-indent-data:t
14991 sgml-parent-document:nil
14992 sgml-exposed-tags:nil
14993 sgml-local-catalogs:nil
14994 sgml-local-ecat-files:nil
14995 End:
< prev index next >