< prev index next >

src/hotspot/share/prims/jvmti.xml

Print this page
rev 50604 : imported patch jep181-rev1


 341 
 342    <!ELEMENT dt  (#PCDATA|jvmti|code|i|b)*>
 343 
 344    <!ELEMENT table  (tr)+>
 345 
 346    <!ELEMENT tr  (td|th)*>
 347 
 348    <!ELEMENT td  ANY>
 349    <!ATTLIST td class CDATA #IMPLIED>
 350 
 351    <!ELEMENT th  ANY>
 352    <!ATTLIST th class CDATA #IMPLIED>
 353 
 354    <!ELEMENT ul  (li)+>
 355    <!ATTLIST ul type (disc|circle|square) "disc">
 356 
 357    <!ELEMENT li  ANY>
 358  ]>
 359 
 360 <specification label="JVM(TM) Tool Interface"
 361         majorversion="9"
 362         minorversion="0"
 363         microversion="0">
 364   <title subtitle="Version">
 365     <tm>JVM</tm> Tool Interface
 366   </title>
 367 
 368   <intro id="whatIs" label="What is the JVM Tool Interface?">
 369     The <tm>JVM</tm> Tool Interface (<jvmti/>)
 370     is a programming interface used by development and monitoring tools.
 371     It provides both a way to inspect the state and
 372     to control the execution of applications running in the
 373     <tm>Java</tm> virtual machine (VM).
 374     <p/>
 375     <jvmti/> is intended to provide a VM interface for the full breadth of tools
 376     that need access to VM state, including but not limited to: profiling,
 377     debugging, monitoring, thread analysis, and coverage analysis tools.
 378     <p/>
 379     <jvmti/> may not be available in all implementations of the <tm>Java</tm> virtual
 380     machine.
 381     <p/>


7614         would occur under the customary JVM semantics.
7615         In other words, retransforming a class does not cause its initializers to be
7616         run. The values of static fields will remain as they were
7617         prior to the call.
7618         <p/>
7619         Threads need not be suspended.
7620         <p/>
7621         All breakpoints in the class are cleared.
7622         <p/>
7623         All attributes are updated.
7624         <p/>
7625         Instances of the retransformed class are not affected -- fields retain their
7626         previous values.
7627         <functionlink id="GetTag">Tags</functionlink> on the instances are
7628         also unaffected.
7629         <p/>
7630         In response to this call, no events other than the
7631         <eventlink id="ClassFileLoadHook"/> event
7632         will be sent.
7633         <p/>
7634         The retransformation may change method bodies, the constant pool and attributes.

7635         The retransformation must not add, remove or rename fields or methods, change the
7636         signatures of methods, change modifiers, or change inheritance.


7637         These restrictions may be lifted in future versions.
7638         See the error return description below for information on error codes
7639         returned if an unsupported retransformation is attempted.
7640         The class file bytes are not verified or installed until they have passed
7641         through the chain of <eventlink id="ClassFileLoadHook"/> events, thus the
7642         returned error code reflects the result of the transformations.
7643         If any error code is returned other than <code>JVMTI_ERROR_NONE</code>,
7644         none of the classes to be retransformed will have a new definition installed.
7645         When this function returns (with the error code of <code>JVMTI_ERROR_NONE</code>)
7646         all of the classes to be retransformed will have their new definitions installed.
7647       </description>
7648       <origin>new</origin>
7649       <capabilities>
7650         <required id="can_retransform_classes"></required>
7651         <capability id="can_retransform_any_class"></capability>
7652       </capabilities>
7653       <parameters>
7654         <param id="class_count">
7655           <jint min="0"/>
7656           <description>


7687         </error>
7688         <error id="JVMTI_ERROR_NAMES_DONT_MATCH">
7689           The class name defined in a retransformed class file is
7690           different from the name in the old class object.
7691         </error>
7692         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED">
7693           A retransformed class file would require adding a method.
7694         </error>
7695         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED">
7696           A retransformed class file changes a field.
7697         </error>
7698         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED">
7699           A direct superclass is different for a retransformed class file,
7700           or the set of directly implemented
7701           interfaces is different.
7702         </error>
7703         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED">
7704           A retransformed class file does not declare a method
7705           declared in the old class version.
7706         </error>



7707         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED">
7708           A retransformed class file has different class modifiers.
7709         </error>
7710         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED">
7711           A method in the retransformed class file has different modifiers
7712           than its counterpart in the old class version.
7713         </error>
7714       </errors>
7715     </function>
7716 
7717     <function id="RedefineClasses" jkernel="yes" num="87">
7718       <synopsis>Redefine Classes</synopsis>
7719       <typedef id="jvmtiClassDefinition" label="Class redefinition description">
7720         <field id="klass">
7721           <jclass/>
7722             <description>
7723               Class object for this class
7724             </description>
7725         </field>
7726         <field id="class_byte_count">


7761         would occur under the customary JVM semantics.
7762         In other words, redefining a class does not cause its initializers to be
7763         run. The values of static fields will remain as they were
7764         prior to the call.
7765         <p/>
7766         Threads need not be suspended.
7767         <p/>
7768         All breakpoints in the class are cleared.
7769         <p/>
7770         All attributes are updated.
7771         <p/>
7772         Instances of the redefined class are not affected -- fields retain their
7773         previous values.
7774         <functionlink id="GetTag">Tags</functionlink> on the instances are
7775         also unaffected.
7776         <p/>
7777         In response to this call, the <jvmti/> event
7778         <eventlink id="ClassFileLoadHook">Class File Load Hook</eventlink>
7779         will be sent (if enabled), but no other <jvmti/> events will be sent.
7780         <p/>
7781         The redefinition may change method bodies, the constant pool and attributes.

7782         The redefinition must not add, remove or rename fields or methods, change the
7783         signatures of methods, change modifiers, or change inheritance.


7784         These restrictions may be lifted in future versions.
7785         See the error return description below for information on error codes
7786         returned if an unsupported redefinition is attempted.
7787         The class file bytes are not verified or installed until they have passed
7788         through the chain of <eventlink id="ClassFileLoadHook"/> events, thus the
7789         returned error code reflects the result of the transformations applied
7790         to the bytes passed into <paramlink id="class_definitions"/>.
7791         If any error code is returned other than <code>JVMTI_ERROR_NONE</code>,
7792         none of the classes to be redefined will have a new definition installed.
7793         When this function returns (with the error code of <code>JVMTI_ERROR_NONE</code>)
7794         all of the classes to be redefined will have their new definitions installed.
7795       </description>
7796       <origin>jvmdi</origin>
7797       <capabilities>
7798         <required id="can_redefine_classes"></required>
7799         <capability id="can_redefine_any_class"></capability>
7800       </capabilities>
7801       <parameters>
7802         <param id="class_count">
7803           <jint min="0"/>


7838         </error>
7839         <error id="JVMTI_ERROR_NAMES_DONT_MATCH">
7840           The class name defined in a new class file is
7841           different from the name in the old class object.
7842         </error>
7843         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED">
7844           A new class file would require adding a method.
7845         </error>
7846         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED">
7847           A new class version changes a field.
7848         </error>
7849         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED">
7850           A direct superclass is different for a new class
7851           version, or the set of directly implemented
7852           interfaces is different.
7853         </error>
7854         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED">
7855           A new class version does not declare a method
7856           declared in the old class version.
7857         </error>



7858         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED">
7859           A new class version has different modifiers.
7860         </error>
7861         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED">
7862           A method in the new class version has different modifiers
7863           than its counterpart in the old class version.
7864         </error>
7865         <error id="JVMTI_ERROR_UNMODIFIABLE_MODULE">
7866           A module cannot be modified.
7867           See <functionlink id="IsModifiableModule"/>.
7868         </error>
7869       </errors>
7870     </function>
7871 
7872   </category>
7873 
7874   <category id="object" label="Object">
7875 
7876     <function id="GetObjectSize" jkernel="yes" phase="start" num="154">
7877       <synopsis>Get Object Size</synopsis>


11771     <errorid id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED" num="66">
11772       A direct superclass is different for the new class
11773       version, or the set of directly implemented
11774       interfaces is different.
11775     </errorid>
11776     <errorid id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED" num="67">
11777       A new class version does not declare a method
11778       declared in the old class version.
11779     </errorid>
11780     <errorid id="JVMTI_ERROR_NAMES_DONT_MATCH" num="69">
11781       The class name defined in the new class file is
11782       different from the name in the old class object.
11783     </errorid>
11784     <errorid id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED" num="70">
11785       A new class version has different modifiers.
11786     </errorid>
11787     <errorid id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED" num="71">
11788       A method in the new class version has different modifiers
11789       than its counterpart in the old class version.
11790     </errorid>



11791   </errorcategory>
11792 </errorsection>
11793 
11794 <eventsection label="Events">
11795   <intro label="Handling Events" id="eventIntro">
11796     Agents can be informed of many events that occur in application
11797     programs.
11798     <p/>
11799     To handle events, designate a set of callback functions with
11800     <functionlink id="SetEventCallbacks"></functionlink>.
11801     For each event the corresponding callback function will be
11802     called.
11803     Arguments to the callback function provide additional
11804     information about the event.
11805     <p/>
11806     The callback function is usually called from within an application
11807     thread. The <jvmti/> implementation does not
11808     queue events in any way. This means
11809     that event callback functions must be written
11810     carefully. Here are some general guidelines. See


14909   </change>
14910   <change date="13 October 2016" version="9.0.0">
14911       Support for modules:
14912        - The majorversion is 9 now
14913        - The ClassFileLoadHook events are not sent during the primordial phase anymore.
14914        - Allow CompiledMethodLoad events at start phase
14915        - Add new capabilities:
14916           - can_generate_early_vmstart
14917           - can_generate_early_class_hook_events
14918        - Add new functions:
14919           - GetAllModules
14920           - AddModuleReads, AddModuleExports, AddModuleOpens, AddModuleUses, AddModuleProvides
14921           - IsModifiableModule
14922       Clarified can_redefine_any_classes, can_retransform_any_classes and IsModifiableClass API to
14923       disallow some implementation defined classes.
14924   </change>
14925   <change date="12 February 2017" version="9.0.0">
14926       Minor update for GetCurrentThread function:
14927        - The function may return NULL in the start phase if the
14928          can_generate_early_vmstart capability is enabled.







14929   </change>
14930 </changehistory>
14931 
14932 </specification>
14933 <!-- Keep this comment at the end of the file
14934 Local variables:
14935 mode: sgml
14936 sgml-omittag:t
14937 sgml-shorttag:t
14938 sgml-namecase-general:t
14939 sgml-general-insert-case:lower
14940 sgml-minimize-attributes:nil
14941 sgml-always-quote-attributes:t
14942 sgml-indent-step:2
14943 sgml-indent-data:t
14944 sgml-parent-document:nil
14945 sgml-exposed-tags:nil
14946 sgml-local-catalogs:nil
14947 sgml-local-ecat-files:nil
14948 End:


 341 
 342    <!ELEMENT dt  (#PCDATA|jvmti|code|i|b)*>
 343 
 344    <!ELEMENT table  (tr)+>
 345 
 346    <!ELEMENT tr  (td|th)*>
 347 
 348    <!ELEMENT td  ANY>
 349    <!ATTLIST td class CDATA #IMPLIED>
 350 
 351    <!ELEMENT th  ANY>
 352    <!ATTLIST th class CDATA #IMPLIED>
 353 
 354    <!ELEMENT ul  (li)+>
 355    <!ATTLIST ul type (disc|circle|square) "disc">
 356 
 357    <!ELEMENT li  ANY>
 358  ]>
 359 
 360 <specification label="JVM(TM) Tool Interface"
 361         majorversion="11"
 362         minorversion="0"
 363         microversion="0">
 364   <title subtitle="Version">
 365     <tm>JVM</tm> Tool Interface
 366   </title>
 367 
 368   <intro id="whatIs" label="What is the JVM Tool Interface?">
 369     The <tm>JVM</tm> Tool Interface (<jvmti/>)
 370     is a programming interface used by development and monitoring tools.
 371     It provides both a way to inspect the state and
 372     to control the execution of applications running in the
 373     <tm>Java</tm> virtual machine (VM).
 374     <p/>
 375     <jvmti/> is intended to provide a VM interface for the full breadth of tools
 376     that need access to VM state, including but not limited to: profiling,
 377     debugging, monitoring, thread analysis, and coverage analysis tools.
 378     <p/>
 379     <jvmti/> may not be available in all implementations of the <tm>Java</tm> virtual
 380     machine.
 381     <p/>


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


7690         </error>
7691         <error id="JVMTI_ERROR_NAMES_DONT_MATCH">
7692           The class name defined in a retransformed class file is
7693           different from the name in the old class object.
7694         </error>
7695         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED">
7696           A retransformed class file would require adding a method.
7697         </error>
7698         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED">
7699           A retransformed class file changes a field.
7700         </error>
7701         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED">
7702           A direct superclass is different for a retransformed class file,
7703           or the set of directly implemented
7704           interfaces is different.
7705         </error>
7706         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED">
7707           A retransformed class file does not declare a method
7708           declared in the old class version.
7709         </error>
7710         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_ATTRIBUTE_CHANGED">
7711           A retransformed class file has unsupported differences in class attributes.
7712         </error>
7713         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED">
7714           A retransformed class file has different class modifiers.
7715         </error>
7716         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED">
7717           A method in the retransformed class file has different modifiers
7718           than its counterpart in the old class version.
7719         </error>
7720       </errors>
7721     </function>
7722 
7723     <function id="RedefineClasses" jkernel="yes" num="87">
7724       <synopsis>Redefine Classes</synopsis>
7725       <typedef id="jvmtiClassDefinition" label="Class redefinition description">
7726         <field id="klass">
7727           <jclass/>
7728             <description>
7729               Class object for this class
7730             </description>
7731         </field>
7732         <field id="class_byte_count">


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


7847         </error>
7848         <error id="JVMTI_ERROR_NAMES_DONT_MATCH">
7849           The class name defined in a new class file is
7850           different from the name in the old class object.
7851         </error>
7852         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED">
7853           A new class file would require adding a method.
7854         </error>
7855         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED">
7856           A new class version changes a field.
7857         </error>
7858         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED">
7859           A direct superclass is different for a new class
7860           version, or the set of directly implemented
7861           interfaces is different.
7862         </error>
7863         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED">
7864           A new class version does not declare a method
7865           declared in the old class version.
7866         </error>
7867         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_ATTRIBUTE_CHANGED">
7868           A new class version has unsupported differences in class attributes.
7869         </error>
7870         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED">
7871           A new class version has different modifiers.
7872         </error>
7873         <error id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED">
7874           A method in the new class version has different modifiers
7875           than its counterpart in the old class version.
7876         </error>
7877         <error id="JVMTI_ERROR_UNMODIFIABLE_MODULE">
7878           A module cannot be modified.
7879           See <functionlink id="IsModifiableModule"/>.
7880         </error>
7881       </errors>
7882     </function>
7883 
7884   </category>
7885 
7886   <category id="object" label="Object">
7887 
7888     <function id="GetObjectSize" jkernel="yes" phase="start" num="154">
7889       <synopsis>Get Object Size</synopsis>


11783     <errorid id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED" num="66">
11784       A direct superclass is different for the new class
11785       version, or the set of directly implemented
11786       interfaces is different.
11787     </errorid>
11788     <errorid id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED" num="67">
11789       A new class version does not declare a method
11790       declared in the old class version.
11791     </errorid>
11792     <errorid id="JVMTI_ERROR_NAMES_DONT_MATCH" num="69">
11793       The class name defined in the new class file is
11794       different from the name in the old class object.
11795     </errorid>
11796     <errorid id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED" num="70">
11797       A new class version has different modifiers.
11798     </errorid>
11799     <errorid id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED" num="71">
11800       A method in the new class version has different modifiers
11801       than its counterpart in the old class version.
11802     </errorid>
11803     <errorid id="JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_ATTRIBUTE_CHANGED" num="72">
11804       A new class version has unsupported differences in class attributes.
11805     </errorid>
11806   </errorcategory>
11807 </errorsection>
11808 
11809 <eventsection label="Events">
11810   <intro label="Handling Events" id="eventIntro">
11811     Agents can be informed of many events that occur in application
11812     programs.
11813     <p/>
11814     To handle events, designate a set of callback functions with
11815     <functionlink id="SetEventCallbacks"></functionlink>.
11816     For each event the corresponding callback function will be
11817     called.
11818     Arguments to the callback function provide additional
11819     information about the event.
11820     <p/>
11821     The callback function is usually called from within an application
11822     thread. The <jvmti/> implementation does not
11823     queue events in any way. This means
11824     that event callback functions must be written
11825     carefully. Here are some general guidelines. See


14924   </change>
14925   <change date="13 October 2016" version="9.0.0">
14926       Support for modules:
14927        - The majorversion is 9 now
14928        - The ClassFileLoadHook events are not sent during the primordial phase anymore.
14929        - Allow CompiledMethodLoad events at start phase
14930        - Add new capabilities:
14931           - can_generate_early_vmstart
14932           - can_generate_early_class_hook_events
14933        - Add new functions:
14934           - GetAllModules
14935           - AddModuleReads, AddModuleExports, AddModuleOpens, AddModuleUses, AddModuleProvides
14936           - IsModifiableModule
14937       Clarified can_redefine_any_classes, can_retransform_any_classes and IsModifiableClass API to
14938       disallow some implementation defined classes.
14939   </change>
14940   <change date="12 February 2017" version="9.0.0">
14941       Minor update for GetCurrentThread function:
14942        - The function may return NULL in the start phase if the
14943          can_generate_early_vmstart capability is enabled.
14944   </change>
14945   <change date="7 February 2018" version="11.0.0">
14946       Minor update for new class file NestHost and NestMembers attributes:
14947         - Specify that RedefineClasses and RetransformClasses are not allowed
14948           to change the class file NestHost and NestMembers attributes.
14949         - Add new error JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_ATTRIBUTE_CHANGED
14950           that can be returned by RedefineClasses and RetransformClasses.
14951   </change>
14952 </changehistory>
14953 
14954 </specification>
14955 <!-- Keep this comment at the end of the file
14956 Local variables:
14957 mode: sgml
14958 sgml-omittag:t
14959 sgml-shorttag:t
14960 sgml-namecase-general:t
14961 sgml-general-insert-case:lower
14962 sgml-minimize-attributes:nil
14963 sgml-always-quote-attributes:t
14964 sgml-indent-step:2
14965 sgml-indent-data:t
14966 sgml-parent-document:nil
14967 sgml-exposed-tags:nil
14968 sgml-local-catalogs:nil
14969 sgml-local-ecat-files:nil
14970 End:
< prev index next >