< prev index next >

src/hotspot/share/prims/jvmti.xml

Print this page




 103    <!ELEMENT parameters (param*)>
 104 
 105    <!ELEMENT param ((jmethodID|jfieldID|jframeID|jrawMonitorID|jclass|jthread|jthreadGroup|jobject|
 106                      jvalue|enum|jint|jlong|jfloat|jdouble|jlocation|jboolean|char|uchar|size_t|void|varargs|struct|ptrtype|
 107                      outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf),
 108                     description)>
 109    <!ATTLIST param id CDATA #REQUIRED>
 110 
 111    <!ELEMENT jmethodID EMPTY>
 112    <!ATTLIST jmethodID class  CDATA #IMPLIED
 113                        native CDATA #IMPLIED>
 114 
 115    <!ELEMENT jfieldID EMPTY>
 116    <!ATTLIST jfieldID class CDATA #IMPLIED>
 117 
 118    <!ELEMENT jclass EMPTY>
 119    <!ATTLIST jclass method CDATA #IMPLIED
 120                     field  CDATA #IMPLIED>
 121 
 122    <!ELEMENT jframeID EMPTY>
 123    <!ATTLIST jframeID thread CDATA #IMPLIED>

 124 
 125    <!ELEMENT jrawMonitorID EMPTY>
 126 
 127    <!ELEMENT jthread EMPTY>
 128    <!ATTLIST jthread started CDATA #IMPLIED
 129                      null CDATA #IMPLIED
 130                      frame CDATA #IMPLIED
 131                      impl CDATA #IMPLIED>
 132 
 133    <!ELEMENT varargs EMPTY>
 134 
 135    <!ELEMENT jthreadGroup EMPTY>
 136    <!ELEMENT jobject EMPTY>


 137    <!ELEMENT jvalue EMPTY>
 138    <!ELEMENT jchar EMPTY>
 139    <!ELEMENT jint EMPTY>
 140    <!ATTLIST jint min CDATA #IMPLIED>
 141    <!ELEMENT jlong EMPTY>
 142    <!ELEMENT jfloat EMPTY>
 143    <!ELEMENT jdouble EMPTY>
 144    <!ELEMENT jlocation EMPTY>
 145    <!ELEMENT jboolean EMPTY>
 146    <!ELEMENT char EMPTY>
 147    <!ELEMENT uchar EMPTY>
 148    <!ELEMENT size_t EMPTY>
 149    <!ELEMENT void EMPTY>
 150    <!ELEMENT enum (#PCDATA)*>
 151    <!ELEMENT struct (#PCDATA)*>
 152 
 153    <!ELEMENT nullok ANY>
 154 
 155    <!ELEMENT ptrtype     ((struct|jmethodID|jfieldID|jframeID|jrawMonitorID|jclass|jthread|
 156                                    jthreadGroup|jobject|jvalue), nullok?)>


2214               Retrieve from this thread.
2215             </description>
2216         </param>
2217         <param id="data_ptr">
2218           <agentbuf><void/></agentbuf>
2219           <description>
2220             Pointer through which the value of the thread local
2221             storage is returned.
2222             If thread-local storage has not been set with
2223             <functionlink id="SetThreadLocalStorage"></functionlink> the returned
2224             pointer is <code>NULL</code>.
2225           </description>
2226         </param>
2227       </parameters>
2228       <errors>
2229       </errors>
2230     </function>
2231 
2232   </category>
2233 





































































































































































































































































2234   <category id="thread_groups" label="Thread Group">
2235     <intro>
2236     </intro>
2237 
2238     <function id="GetTopThreadGroups" num="13">
2239       <synopsis>Get Top Thread Groups</synopsis>
2240       <description>
2241         Return all top-level (parentless) thread groups in the VM.
2242       </description>
2243       <origin>jvmdi</origin>
2244       <capabilities>
2245       </capabilities>
2246       <parameters>
2247         <param id="group_count_ptr">
2248           <outptr><jint/></outptr>
2249           <description>
2250             On return, points to the number of top-level thread groups.
2251           </description>
2252         </param>
2253         <param id="groups_ptr">


10351       </capabilityfield>
10352       <capabilityfield id="can_generate_early_class_hook_events" since="9">
10353         <description>
10354           Can generate the <eventlink id="ClassFileLoadHook"/> events
10355           in the primordial phase. If this capability and
10356           <internallink id="jvmtiCapabilities.can_generate_all_class_hook_events">
10357           <code>can_generate_all_class_hook_events</code></internallink>
10358           are enabled then the <eventlink id="ClassFileLoadHook"/> events
10359           can be posted for classes loaded in the primordial phase.
10360           See <eventlink id="ClassFileLoadHook"/>.
10361         </description>
10362       </capabilityfield>
10363       <capabilityfield id="can_generate_sampled_object_alloc_events" since="11">
10364         <description>
10365           Can generate sampled allocation events.
10366           If this capability is enabled then the heap sampling method
10367           <functionlink id="SetHeapSamplingInterval"></functionlink> can be
10368           called and <eventlink id="SampledObjectAlloc"></eventlink> events can be generated.
10369         </description>
10370       </capabilityfield>






















10371     </capabilitiestypedef>
10372 
10373     <function id="GetPotentialCapabilities" jkernel="yes" phase="onload" num="140">
10374       <synopsis>Get Potential Capabilities</synopsis>
10375       <description>
10376         Returns via <paramlink id="capabilities_ptr"></paramlink> the <jvmti/>
10377         features that can potentially be possessed by this environment
10378         at this time.
10379         The returned capabilities differ from the complete set of capabilities
10380         implemented by the VM in two cases: another environment possesses
10381         capabilities that can only be possessed by one environment, or the
10382         current <functionlink id="GetPhase">phase</functionlink> is live,
10383         and certain capabilities can only be added during the <code>OnLoad</code> phase.
10384         The <functionlink id="AddCapabilities"></functionlink> function
10385         may be used to set any or all or these capabilities.
10386         Currently possessed capabilities are included.
10387         <p/>
10388         Typically this function is used in the <code>OnLoad</code> function.
10389         Some virtual machines may allow a limited set of capabilities to be
10390         added in the live phase.


11703     </errorid>
11704     <errorid id="JVMTI_ERROR_INVALID_EVENT_TYPE" num="102">
11705       The specified event type ID is not recognized.
11706     </errorid>
11707     <errorid id="JVMTI_ERROR_NATIVE_METHOD" num="104">
11708       The requested information is not available for native method.
11709     </errorid>
11710     <errorid id="JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED" num="106">
11711       The class loader does not support this operation.
11712     </errorid>
11713   </errorcategory>
11714 
11715   <errorcategory id="function-specific-errors" label="Function Specific Agent Errors">
11716     <intro>
11717       The following errors are returned by some <jvmti/> functions.
11718       They are returned in the event of invalid parameters passed by the
11719       agent or usage in an invalid context.
11720       An implementation is not required to detect these errors.
11721     </intro>
11722 



11723     <errorid id="JVMTI_ERROR_INVALID_THREAD" num="10">
11724       The passed thread is not a valid thread.
11725     </errorid>
11726     <errorid id="JVMTI_ERROR_INVALID_FIELDID" num="25">
11727       Invalid field.
11728     </errorid>
11729     <errorid id="JVMTI_ERROR_INVALID_MODULE" num="26">
11730       Invalid module.
11731     </errorid>
11732     <errorid id="JVMTI_ERROR_INVALID_METHODID" num="23">
11733       Invalid method.
11734     </errorid>
11735     <errorid id="JVMTI_ERROR_INVALID_LOCATION" num="24">
11736       Invalid location.
11737     </errorid>
11738     <errorid id="JVMTI_ERROR_INVALID_OBJECT" num="20">
11739       Invalid object.
11740     </errorid>
11741     <errorid id="JVMTI_ERROR_INVALID_CLASS" num="21">
11742       Invalid class.


12686     <origin>jvmdi</origin>
12687     <capabilities>
12688     </capabilities>
12689     <parameters>
12690       <param id="jni_env">
12691         <outptr>
12692           <struct>JNIEnv</struct>
12693         </outptr>
12694           <description>
12695             The JNI environment of the event (current) thread.
12696           </description>
12697       </param>
12698       <param id="thread">
12699         <jthread/>
12700           <description>
12701             Thread ending
12702           </description>
12703       </param>
12704     </parameters>
12705   </event>































































































































































































































12706 
12707   <event label="Class Load"
12708          id="ClassLoad" const="JVMTI_EVENT_CLASS_LOAD" filtered="thread" phase="start" num="55">
12709     <description>
12710       A class load event is generated when a class is first loaded. The order
12711       of class load events generated by a particular thread are guaranteed
12712       to match the order of class loading within that thread.
12713       Array class creation does not generate a class load event.
12714       The creation of a primitive class (for example, java.lang.Integer.TYPE)
12715       does not generate a class load event.
12716       <p/>
12717       This event is sent at an early stage in loading the class. As
12718       a result the class should be used carefully.  Note, for example,
12719       that methods and fields are not yet loaded, so queries for methods,
12720       fields, subclasses, and so on will not give correct results.
12721       See "Loading of Classes and Interfaces" in the <i>Java Language
12722       Specification</i>.  For most
12723       purposes the <eventlink id="ClassPrepare"></eventlink> event will
12724       be more useful.
12725     </description>




 103    <!ELEMENT parameters (param*)>
 104 
 105    <!ELEMENT param ((jmethodID|jfieldID|jframeID|jrawMonitorID|jclass|jthread|jthreadGroup|jobject|
 106                      jvalue|enum|jint|jlong|jfloat|jdouble|jlocation|jboolean|char|uchar|size_t|void|varargs|struct|ptrtype|
 107                      outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf),
 108                     description)>
 109    <!ATTLIST param id CDATA #REQUIRED>
 110 
 111    <!ELEMENT jmethodID EMPTY>
 112    <!ATTLIST jmethodID class  CDATA #IMPLIED
 113                        native CDATA #IMPLIED>
 114 
 115    <!ELEMENT jfieldID EMPTY>
 116    <!ATTLIST jfieldID class CDATA #IMPLIED>
 117 
 118    <!ELEMENT jclass EMPTY>
 119    <!ATTLIST jclass method CDATA #IMPLIED
 120                     field  CDATA #IMPLIED>
 121 
 122    <!ELEMENT jframeID EMPTY>
 123    <!ATTLIST jframeID thread CDATA #IMPLIED
 124                       fiber  CDATA #IMPLIED>
 125 
 126    <!ELEMENT jrawMonitorID EMPTY>
 127 
 128    <!ELEMENT jthread EMPTY>
 129    <!ATTLIST jthread started CDATA #IMPLIED
 130                      null CDATA #IMPLIED
 131                      frame CDATA #IMPLIED
 132                      impl CDATA #IMPLIED>
 133 
 134    <!ELEMENT varargs EMPTY>
 135 
 136    <!ELEMENT jthreadGroup EMPTY>
 137    <!ELEMENT jobject EMPTY>
 138    <!ATTLIST jobject frame CDATA #IMPLIED>
 139 
 140    <!ELEMENT jvalue EMPTY>
 141    <!ELEMENT jchar EMPTY>
 142    <!ELEMENT jint EMPTY>
 143    <!ATTLIST jint min CDATA #IMPLIED>
 144    <!ELEMENT jlong EMPTY>
 145    <!ELEMENT jfloat EMPTY>
 146    <!ELEMENT jdouble EMPTY>
 147    <!ELEMENT jlocation EMPTY>
 148    <!ELEMENT jboolean EMPTY>
 149    <!ELEMENT char EMPTY>
 150    <!ELEMENT uchar EMPTY>
 151    <!ELEMENT size_t EMPTY>
 152    <!ELEMENT void EMPTY>
 153    <!ELEMENT enum (#PCDATA)*>
 154    <!ELEMENT struct (#PCDATA)*>
 155 
 156    <!ELEMENT nullok ANY>
 157 
 158    <!ELEMENT ptrtype     ((struct|jmethodID|jfieldID|jframeID|jrawMonitorID|jclass|jthread|
 159                                    jthreadGroup|jobject|jvalue), nullok?)>


2217               Retrieve from this thread.
2218             </description>
2219         </param>
2220         <param id="data_ptr">
2221           <agentbuf><void/></agentbuf>
2222           <description>
2223             Pointer through which the value of the thread local
2224             storage is returned.
2225             If thread-local storage has not been set with
2226             <functionlink id="SetThreadLocalStorage"></functionlink> the returned
2227             pointer is <code>NULL</code>.
2228           </description>
2229         </param>
2230       </parameters>
2231       <errors>
2232       </errors>
2233     </function>
2234 
2235   </category>
2236 
2237   <category id="fiberCategory" label="Fiber">
2238     <intro>
2239     </intro>
2240 
2241     <function id="IsFiber" num="105" since="14">
2242       <synopsis>Is Fiber</synopsis>
2243       <description>
2244         Determines whether a thread object reference represents a fiber.
2245         The <code>jboolean</code> result is
2246         <code>JNI_TRUE</code> if the "thread" is actually a fiber,
2247         <code>JNI_FALSE</code> otherwise.
2248       </description>
2249       <origin>new</origin>
2250       <capabilities>
2251         <required id="can_support_fibers">
2252           Can support fibers.
2253         </required>
2254       </capabilities>
2255       <parameters>
2256         <param id="object">
2257           <jobject/>
2258             <description>
2259               The object reference.
2260             </description>
2261         </param>
2262         <param id="is_fiber_ptr">
2263           <outptr><jboolean/></outptr>
2264           <description>
2265             On return, points to the boolean result of this function.
2266           </description>
2267         </param>
2268       </parameters>
2269       <errors>
2270       </errors>
2271     </function>
2272 
2273     <function id="GetThreadFiber" num="113" since="14">
2274       <synopsis>Get Thread Fiber</synopsis>
2275       <description>
2276         Get the fiber mounted to the specified thread.
2277         If no fiber is mounted, <code>NULL</code> is returned.
2278       </description>
2279       <origin>new</origin>
2280       <capabilities>
2281         <required id="can_support_fibers">
2282             Can support fibers.
2283         </required>
2284       </capabilities>
2285       <parameters>
2286         <param id="thread">
2287           <jthread null="current"/>
2288             <description>
2289               The thread to query.
2290             </description>
2291         </param>
2292         <param id="fiber_ptr">
2293           <outptr><jobject/></outptr>
2294           <description>
2295             On return, points to the fiber mounted to the specified thread, or <code>NULL</code>.
2296           </description>
2297         </param>
2298       </parameters>
2299       <errors>
2300       </errors>
2301     </function>
2302 
2303     <function id="GetFiberThread" num="117" since="14">
2304       <synopsis>Get Fiber Thread</synopsis>
2305       <description>
2306         Get the thread the specified fiber is mounted to.
2307         If the fiber is unmounted, <code>NULL</code> is returned.
2308       </description>
2309       <origin>new</origin>
2310       <capabilities>
2311         <required id="can_support_fibers">
2312             Can support fibers.
2313         </required>
2314       </capabilities>
2315       <parameters>
2316         <param id="fiber">
2317           <jobject />
2318             <description>
2319               The fiber to query.
2320             </description>
2321         </param>
2322         <param id="thread_ptr">
2323           <outptr><jthread/></outptr>
2324           <description>
2325             On return, points to the thread the fiber is mounted to, or <code>NULL</code>.
2326             The result is transient if not all carrier threads are suspended.
2327           </description>
2328         </param>
2329       </parameters>
2330       <errors>
2331         <error id="JVMTI_ERROR_INVALID_FIBER">
2332           <paramlink id="fiber"></paramlink> is not a fiber.
2333         </error>
2334       </errors>
2335     </function>
2336 
2337     <function id="GetFiberStackTrace" num="118" since="14">
2338       <synopsis>Get Fiber Stack Trace</synopsis>
2339       <description>
2340         Get information about the stack of a fiber.
2341         If <paramlink id="max_frame_count"></paramlink> is less than the depth of the stack,
2342         the <paramlink id="max_frame_count"></paramlink> topmost frames are returned,
2343         otherwise the entire stack is returned.
2344         The topmost frames, those most recently invoked, are at the beginning of the returned buffer.
2345         <p/>
2346         The <paramlink id="fiber"></paramlink> need not be suspended to call this function.
2347         <p/>
2348         The <functionlink id="GetLineNumberTable"></functionlink>
2349         function can be used to map locations to line numbers. Note that
2350         this mapping can be done lazily.
2351       </description>
2352       <origin>new</origin>
2353       <capabilities>
2354         <required id="can_support_fibers">Can support fibers.</required>
2355       </capabilities>
2356       <parameters>
2357         <param id="fiber">
2358           <jobject />
2359             <description>
2360               Fetch the stack trace of this fiber.
2361             </description>
2362         </param>
2363         <param id="start_depth">
2364           <jint/>
2365           <description>
2366             Begin retrieving frames at this depth.
2367             If non-negative, count from the current frame,
2368             the first frame retrieved is at depth <code>start_depth</code>.
2369             For example, if zero, start from the current frame; if one, start from the
2370             caller of the current frame; if two, start from the caller of the
2371             caller of the current frame; and so on.
2372             If negative, count from below the oldest frame,
2373             the first frame retrieved is at depth <i>stackDepth</i><code> + start_depth</code>,
2374             where <i>stackDepth</i> is the count of frames on the stack.
2375             For example, if negative one, only the oldest frame is retrieved;
2376             if negative two, start from the frame called by the oldest frame.
2377           </description>
2378         </param>
2379         <param id="max_frame_count">
2380           <jint min="0"/>
2381           <description>
2382             The maximum number of <datalink id="jvmtiFrameInfo"/> records to retrieve.
2383           </description>
2384         </param>
2385         <param id="frame_buffer">
2386           <outbuf incount="max_frame_count" outcount="count_ptr">
2387             <struct>jvmtiFrameInfo</struct>
2388           </outbuf>
2389             <description>
2390               On return, this agent allocated buffer is filled
2391               with stack frame information.
2392             </description>
2393         </param>
2394         <param id="count_ptr">
2395           <outptr><jint/></outptr>
2396           <description>
2397             On return, points to the number of records filled in.
2398             For non-negative <code>start_depth</code>, this will be
2399             min(<code>max_frame_count</code>, <i>stackDepth</i><code> - start_depth</code>).
2400             For negative <code>start_depth</code>, this will be
2401             min(<code>max_frame_count</code>, <code>-start_depth</code>).
2402           </description>
2403         </param>
2404       </parameters>
2405       <errors>
2406         <error id="JVMTI_ERROR_INVALID_FIBER">
2407           <paramlink id="fiber"></paramlink> is not a fiber.
2408         </error>
2409         <error id="JVMTI_ERROR_ILLEGAL_ARGUMENT">
2410           <paramlink id="start_depth"/> is positive and greater than or equal to <i>stackDepth</i>.
2411           Or <paramlink id="start_depth"/> is negative and less than <i>-stackDepth</i>.
2412         </error>
2413       </errors>
2414     </function>
2415 
2416     <function id="GetFiberFrameCount" num="119" since="14">
2417       <synopsis>Get Fiber Frame Count</synopsis>
2418       <description>
2419         Get the number of frames currently in the specified fiber's call stack.
2420         <p/>
2421         If this function is called for a fiber actively executing bytecodes (for example,
2422         not on the current or suspended thread), the information returned is transient.
2423       </description>
2424       <origin>new</origin>
2425       <capabilities>
2426         <required id="can_support_fibers">Can support fibers.</required>
2427       </capabilities>
2428       <parameters>
2429         <param id="fiber">
2430           <jobject />
2431             <description>
2432               The fiber to query.
2433             </description>
2434         </param>
2435         <param id="count_ptr">
2436           <outptr><jint/></outptr>
2437           <description>
2438             On return, points to the number of frames in the call stack.
2439           </description>
2440         </param>
2441       </parameters>
2442       <errors>
2443         <error id="JVMTI_ERROR_INVALID_FIBER">
2444           <paramlink id="fiber"></paramlink> is not a fiber.
2445         </error>
2446       </errors>
2447     </function>
2448 
2449     <function id="GetFiberFrameLocation" num="141" since="14">
2450       <synopsis>Get Fiber Frame Location</synopsis>
2451       <description>
2452         <p/>
2453         For a Java programming language frame, return the location of the instruction
2454         currently executing.
2455       </description>
2456       <origin>new</origin>
2457       <capabilities>
2458         <required id="can_support_fibers">Can support fibers.</required>
2459       </capabilities>
2460       <parameters>
2461         <param id="fiber">
2462           <jobject frame="frame"/>
2463           <description>
2464             The fiber of the frame to query.
2465           </description>
2466         </param>
2467         <param id="depth">
2468           <jframeID fiber="fiber"/>
2469           <description>
2470             The depth of the frame to query.
2471           </description>
2472         </param>
2473         <param id="method_ptr">
2474           <outptr><jmethodID/></outptr>
2475             <description>
2476               On return, points to the method for the current location.
2477             </description>
2478         </param>
2479         <param id="location_ptr">
2480           <outptr><jlocation/></outptr>
2481           <description>
2482             On return, points to the index of the currently
2483             executing instruction.
2484             Is set to <code>-1</code> if the frame is executing
2485             a native method.
2486           </description>
2487         </param>
2488       </parameters>
2489       <errors>
2490         <error id="JVMTI_ERROR_INVALID_FIBER">
2491           <paramlink id="fiber"></paramlink> is not a fiber.
2492         </error>
2493       </errors>
2494     </function>
2495 
2496   </category>
2497 
2498   <category id="thread_groups" label="Thread Group">
2499     <intro>
2500     </intro>
2501 
2502     <function id="GetTopThreadGroups" num="13">
2503       <synopsis>Get Top Thread Groups</synopsis>
2504       <description>
2505         Return all top-level (parentless) thread groups in the VM.
2506       </description>
2507       <origin>jvmdi</origin>
2508       <capabilities>
2509       </capabilities>
2510       <parameters>
2511         <param id="group_count_ptr">
2512           <outptr><jint/></outptr>
2513           <description>
2514             On return, points to the number of top-level thread groups.
2515           </description>
2516         </param>
2517         <param id="groups_ptr">


10615       </capabilityfield>
10616       <capabilityfield id="can_generate_early_class_hook_events" since="9">
10617         <description>
10618           Can generate the <eventlink id="ClassFileLoadHook"/> events
10619           in the primordial phase. If this capability and
10620           <internallink id="jvmtiCapabilities.can_generate_all_class_hook_events">
10621           <code>can_generate_all_class_hook_events</code></internallink>
10622           are enabled then the <eventlink id="ClassFileLoadHook"/> events
10623           can be posted for classes loaded in the primordial phase.
10624           See <eventlink id="ClassFileLoadHook"/>.
10625         </description>
10626       </capabilityfield>
10627       <capabilityfield id="can_generate_sampled_object_alloc_events" since="11">
10628         <description>
10629           Can generate sampled allocation events.
10630           If this capability is enabled then the heap sampling method
10631           <functionlink id="SetHeapSamplingInterval"></functionlink> can be
10632           called and <eventlink id="SampledObjectAlloc"></eventlink> events can be generated.
10633         </description>
10634       </capabilityfield>
10635       <capabilityfield id="can_support_fibers" since="14">
10636         <description>
10637           Can support Fibers.
10638           If this capability is enabled then the following fiber aware functions can be called:
10639           <functionlink id="IsFiber"></functionlink>, 
10640           <functionlink id="GetThreadFiber"></functionlink>, 
10641           <functionlink id="GetFiberThread"></functionlink>
10642           and the following fiber aware events can be enabled:
10643           <eventlink id="FiberScheduled"></eventlink>,
10644           <eventlink id="FiberTerminated"></eventlink>,
10645           <eventlink id="FiberMount"></eventlink>,
10646           <eventlink id="FiberUnmount"></eventlink>.
10647         </description>
10648       </capabilityfield>
10649       <capabilityfield id="can_support_continuations" since="14">
10650         <description>
10651           Can support Continuations.
10652           and the following continuation aware events can be enabled:
10653           <eventlink id="ContinuationRun"></eventlink>.
10654           <eventlink id="ContinuationYield"></eventlink>.
10655         </description>
10656       </capabilityfield>
10657     </capabilitiestypedef>
10658 
10659     <function id="GetPotentialCapabilities" jkernel="yes" phase="onload" num="140">
10660       <synopsis>Get Potential Capabilities</synopsis>
10661       <description>
10662         Returns via <paramlink id="capabilities_ptr"></paramlink> the <jvmti/>
10663         features that can potentially be possessed by this environment
10664         at this time.
10665         The returned capabilities differ from the complete set of capabilities
10666         implemented by the VM in two cases: another environment possesses
10667         capabilities that can only be possessed by one environment, or the
10668         current <functionlink id="GetPhase">phase</functionlink> is live,
10669         and certain capabilities can only be added during the <code>OnLoad</code> phase.
10670         The <functionlink id="AddCapabilities"></functionlink> function
10671         may be used to set any or all or these capabilities.
10672         Currently possessed capabilities are included.
10673         <p/>
10674         Typically this function is used in the <code>OnLoad</code> function.
10675         Some virtual machines may allow a limited set of capabilities to be
10676         added in the live phase.


11989     </errorid>
11990     <errorid id="JVMTI_ERROR_INVALID_EVENT_TYPE" num="102">
11991       The specified event type ID is not recognized.
11992     </errorid>
11993     <errorid id="JVMTI_ERROR_NATIVE_METHOD" num="104">
11994       The requested information is not available for native method.
11995     </errorid>
11996     <errorid id="JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED" num="106">
11997       The class loader does not support this operation.
11998     </errorid>
11999   </errorcategory>
12000 
12001   <errorcategory id="function-specific-errors" label="Function Specific Agent Errors">
12002     <intro>
12003       The following errors are returned by some <jvmti/> functions.
12004       They are returned in the event of invalid parameters passed by the
12005       agent or usage in an invalid context.
12006       An implementation is not required to detect these errors.
12007     </intro>
12008 
12009     <errorid id="JVMTI_ERROR_INVALID_FIBER" num="9">
12010       The passed fiber is not a valid fiber.
12011     </errorid>
12012     <errorid id="JVMTI_ERROR_INVALID_THREAD" num="10">
12013       The passed thread is not a valid thread.
12014     </errorid>
12015     <errorid id="JVMTI_ERROR_INVALID_FIELDID" num="25">
12016       Invalid field.
12017     </errorid>
12018     <errorid id="JVMTI_ERROR_INVALID_MODULE" num="26">
12019       Invalid module.
12020     </errorid>
12021     <errorid id="JVMTI_ERROR_INVALID_METHODID" num="23">
12022       Invalid method.
12023     </errorid>
12024     <errorid id="JVMTI_ERROR_INVALID_LOCATION" num="24">
12025       Invalid location.
12026     </errorid>
12027     <errorid id="JVMTI_ERROR_INVALID_OBJECT" num="20">
12028       Invalid object.
12029     </errorid>
12030     <errorid id="JVMTI_ERROR_INVALID_CLASS" num="21">
12031       Invalid class.


12975     <origin>jvmdi</origin>
12976     <capabilities>
12977     </capabilities>
12978     <parameters>
12979       <param id="jni_env">
12980         <outptr>
12981           <struct>JNIEnv</struct>
12982         </outptr>
12983           <description>
12984             The JNI environment of the event (current) thread.
12985           </description>
12986       </param>
12987       <param id="thread">
12988         <jthread/>
12989           <description>
12990             Thread ending
12991           </description>
12992       </param>
12993     </parameters>
12994   </event>
12995 
12996  <event label="Fiber Scheduled"
12997          id="FiberScheduled" const="JVMTI_EVENT_FIBER_SCHEDULED" filtered="thread" num="87" phase="start" since="14">
12998     <description>
12999       Fiber scheduled events are generated before its initial method executes.
13000       <p/>
13001       The event is sent on the <paramlink id="thread"></paramlink>.
13002     </description>
13003     <origin>new</origin>
13004     <capabilities>
13005       <required id="can_support_fibers">
13006         Can support fibers.
13007       </required>
13008     </capabilities>
13009     <parameters>
13010       <param id="jni_env">
13011         <outptr>
13012           <struct>JNIEnv</struct>
13013         </outptr>
13014           <description>
13015             The JNI environment of the event (current) thread.
13016           </description>
13017       </param>
13018       <param id="thread">
13019         <jthread/>
13020           <description>
13021             Thread scheduling this fiber.
13022           </description>
13023       </param>
13024       <param id="fiber">
13025         <jobject/>
13026           <description>
13027             Fiber scheduled for execution.
13028           </description>
13029       </param>
13030     </parameters>
13031   </event>
13032 
13033   <event label="Fiber Terminated"
13034          id="FiberTerminated" const="JVMTI_EVENT_FIBER_TERMINATED" filtered="thread" num="88" phase="start" since="14">
13035     <description>
13036       Fiber terminated events are generated after its initial method has finished execution.
13037       <p/>
13038       The event is sent on the <paramlink id="thread"></paramlink>.
13039     </description>
13040     <origin>new</origin>
13041     <capabilities>
13042       <required id="can_support_fibers">
13043         Can support fibers.
13044       </required>
13045     </capabilities>
13046     <parameters>
13047       <param id="jni_env">
13048         <outptr>
13049           <struct>JNIEnv</struct>
13050         </outptr>
13051           <description>
13052             The JNI environment of the event (current) thread.
13053           </description>
13054       </param>
13055       <param id="thread">
13056         <jthread/>
13057           <description>
13058             Thread terminating this fiber.
13059           </description>
13060       </param>
13061       <param id="fiber">
13062         <jobject/>
13063           <description>
13064             Fiber being terminated.
13065           </description>
13066       </param>
13067     </parameters>
13068   </event>
13069 
13070   <event label="Fiber Mount"
13071          id="FiberMount" const="JVMTI_EVENT_FIBER_MOUNT" filtered="thread" num="89" phase="start" since="14">
13072     <description>
13073       Fiber mount events are generated before its method continue to execute on the mounted thread.
13074       <p/>
13075       The event is sent on the <paramlink id="thread"></paramlink> the fiber is mounted to.
13076     </description>
13077     <origin>new</origin>
13078     <capabilities>
13079       <required id="can_support_fibers">
13080         Can support fibers.
13081       </required>
13082     </capabilities>
13083     <parameters>
13084       <param id="jni_env">
13085         <outptr>
13086           <struct>JNIEnv</struct>
13087         </outptr>
13088           <description>
13089             The JNI environment of the event (current) thread.
13090           </description>
13091       </param>
13092       <param id="thread">
13093         <jthread/>
13094           <description>
13095             Thread the fiber is mounted to.
13096           </description>
13097       </param>
13098       <param id="fiber">
13099         <jobject/>
13100           <description>
13101             Fiber that is mounted.
13102           </description>
13103       </param>
13104     </parameters>
13105   </event>
13106 
13107   <event label="Fiber Unmount"
13108          id="FiberUnmount" const="JVMTI_EVENT_FIBER_UNMOUNT" filtered="thread" num="90" phase="start" since="14">
13109     <description>
13110       Fiber unmount events are generated when the fiber is about to be unmounted from the carrier thread.
13111       <p/>
13112       The event is sent on the <paramlink id="thread"></paramlink> the fiber is unmounted from.
13113     </description>
13114     <origin>new</origin>
13115     <capabilities>
13116       <required id="can_support_fibers">
13117         Can support fibers.
13118       </required>
13119     </capabilities>
13120     <parameters>
13121       <param id="jni_env">
13122         <outptr>
13123           <struct>JNIEnv</struct>
13124         </outptr>
13125           <description>
13126             The JNI environment of the event (current) thread.
13127           </description>
13128       </param>
13129       <param id="thread">
13130         <jthread/>
13131           <description>
13132             Thread the fiber is unmounted from.
13133           </description>
13134       </param>
13135       <param id="fiber">
13136         <jobject/>
13137           <description>
13138             Fiber that is unmounted.
13139           </description>
13140       </param>
13141     </parameters>
13142   </event>
13143 
13144   <event label="Continuation Run"
13145          id="ContinuationRun" const="JVMTI_EVENT_CONTINUATION_RUN" filtered="thread" num="91" phase="start" since="14">
13146     <description>
13147       Continuation run events are generated before the continuation is continued execution on current thread.
13148       <p/>
13149       The event is sent on the <paramlink id="thread"></paramlink> the continuation is about to leave.
13150     </description>
13151     <origin>new</origin>
13152     <capabilities>
13153       <required id="can_support_continuations">
13154         Can support continuations.
13155       </required>
13156     </capabilities>
13157     <parameters>
13158       <param id="jni_env">
13159         <outptr>
13160           <struct>JNIEnv</struct>
13161         </outptr>
13162           <description>
13163             The JNI environment of the event (current) thread.
13164           </description>
13165       </param>
13166       <param id="thread">
13167         <jthread/>
13168           <description>
13169             Thread the continuation is executed on.
13170           </description>
13171       </param>
13172       <param id="continuation_frame_count">
13173         <jint min="1"/>
13174           <description>
13175             Number of frames the continuation is executing.
13176           </description>
13177       </param>
13178     </parameters>
13179   </event>
13180 
13181   <event label="Continuation Yield"
13182          id="ContinuationYield" const="JVMTI_EVENT_CONTINUATION_YIELD" filtered="thread" num="92" phase="start" since="14">
13183     <description>
13184       Continuation yield events are generated before the continuation actually yields on current thread.
13185       <p/>
13186       The event is sent on the <paramlink id="thread"></paramlink> the continuation is about to leave.
13187     </description>
13188     <origin>new</origin>
13189     <capabilities>
13190       <required id="can_support_continuations">
13191         Can support continuations.
13192       </required>
13193     </capabilities>
13194     <parameters>
13195       <param id="jni_env">
13196         <outptr>
13197           <struct>JNIEnv</struct>
13198         </outptr>
13199           <description>
13200             The JNI environment of the event (current) thread.
13201           </description>
13202       </param>
13203       <param id="thread">
13204         <jthread/>
13205           <description>
13206             Thread the continuation is executed on.
13207           </description>
13208       </param>
13209       <param id="continuation_frame_count">
13210         <jint min="1"/>
13211           <description>
13212             Number of frames the continuation is executing.
13213           </description>
13214       </param>
13215     </parameters>
13216   </event>
13217 
13218 
13219   <event label="Class Load"
13220          id="ClassLoad" const="JVMTI_EVENT_CLASS_LOAD" filtered="thread" phase="start" num="55">
13221     <description>
13222       A class load event is generated when a class is first loaded. The order
13223       of class load events generated by a particular thread are guaranteed
13224       to match the order of class loading within that thread.
13225       Array class creation does not generate a class load event.
13226       The creation of a primitive class (for example, java.lang.Integer.TYPE)
13227       does not generate a class load event.
13228       <p/>
13229       This event is sent at an early stage in loading the class. As
13230       a result the class should be used carefully.  Note, for example,
13231       that methods and fields are not yet loaded, so queries for methods,
13232       fields, subclasses, and so on will not give correct results.
13233       See "Loading of Classes and Interfaces" in the <i>Java Language
13234       Specification</i>.  For most
13235       purposes the <eventlink id="ClassPrepare"></eventlink> event will
13236       be more useful.
13237     </description>


< prev index next >