jdk/src/java.base/share/native/include/jvmti.h
changeset 36511 9d0388c6b336
parent 25859 3317bb8137f4
child 38340 ef34263f90ef
equal deleted inserted replaced
36510:043f1af70518 36511:9d0388c6b336
     1 /*
     1 /*
     2  * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22  * or visit www.oracle.com if you need additional information or have any
    22  * or visit www.oracle.com if you need additional information or have any
    23  * questions.
    23  * questions.
    24  */
    24  */
    25 
    25 
    26     /* AUTOMATICALLY GENERATED FILE - DO NOT EDIT */
    26  /* AUTOMATICALLY GENERATED FILE - DO NOT EDIT */
    27 
       
    28 
    27 
    29     /* Include file for the Java(tm) Virtual Machine Tool Interface */
    28     /* Include file for the Java(tm) Virtual Machine Tool Interface */
    30 
    29 
    31 #ifndef _JAVA_JVMTI_H_
    30 #ifndef _JAVA_JVMTI_H_
    32 #define _JAVA_JVMTI_H_
    31 #define _JAVA_JVMTI_H_
    40 enum {
    39 enum {
    41     JVMTI_VERSION_1   = 0x30010000,
    40     JVMTI_VERSION_1   = 0x30010000,
    42     JVMTI_VERSION_1_0 = 0x30010000,
    41     JVMTI_VERSION_1_0 = 0x30010000,
    43     JVMTI_VERSION_1_1 = 0x30010100,
    42     JVMTI_VERSION_1_1 = 0x30010100,
    44     JVMTI_VERSION_1_2 = 0x30010200,
    43     JVMTI_VERSION_1_2 = 0x30010200,
    45 
    44     JVMTI_VERSION_9   = 0x30090000,
    46     JVMTI_VERSION = 0x30000000 + (1 * 0x10000) + (2 * 0x100) + 1  /* version: 1.2.1 */
    45 
       
    46     JVMTI_VERSION = 0x30000000 + (9 * 0x10000) + (0 * 0x100) + 0  /* version: 9.0.0 */
    47 };
    47 };
    48 
    48 
    49 JNIEXPORT jint JNICALL
    49 JNIEXPORT jint JNICALL
    50 Agent_OnLoad(JavaVM *vm, char *options, void *reserved);
    50 Agent_OnLoad(JavaVM *vm, char *options, void *reserved);
    51 
    51 
   701     unsigned int can_set_native_method_prefix : 1;
   701     unsigned int can_set_native_method_prefix : 1;
   702     unsigned int can_retransform_classes : 1;
   702     unsigned int can_retransform_classes : 1;
   703     unsigned int can_retransform_any_class : 1;
   703     unsigned int can_retransform_any_class : 1;
   704     unsigned int can_generate_resource_exhaustion_heap_events : 1;
   704     unsigned int can_generate_resource_exhaustion_heap_events : 1;
   705     unsigned int can_generate_resource_exhaustion_threads_events : 1;
   705     unsigned int can_generate_resource_exhaustion_threads_events : 1;
   706     unsigned int : 7;
   706     unsigned int can_generate_early_vmstart : 1;
       
   707     unsigned int : 6;
   707     unsigned int : 16;
   708     unsigned int : 16;
   708     unsigned int : 16;
   709     unsigned int : 16;
   709     unsigned int : 16;
   710     unsigned int : 16;
   710     unsigned int : 16;
   711     unsigned int : 16;
   711     unsigned int : 16;
   712     unsigned int : 16;
  1009     jvmtiEventMode mode,
  1010     jvmtiEventMode mode,
  1010     jvmtiEvent event_type,
  1011     jvmtiEvent event_type,
  1011     jthread event_thread,
  1012     jthread event_thread,
  1012      ...);
  1013      ...);
  1013 
  1014 
  1014   /*   3 :  RESERVED */
  1015   /*   3 : Get All Modules */
  1015   void *reserved3;
  1016   jvmtiError (JNICALL *GetAllModules) (jvmtiEnv* env,
       
  1017     jint* module_count_ptr,
       
  1018     jobject** modules_ptr);
  1016 
  1019 
  1017   /*   4 : Get All Threads */
  1020   /*   4 : Get All Threads */
  1018   jvmtiError (JNICALL *GetAllThreads) (jvmtiEnv* env,
  1021   jvmtiError (JNICALL *GetAllThreads) (jvmtiEnv* env,
  1019     jint* threads_count_ptr,
  1022     jint* threads_count_ptr,
  1020     jthread** threads_ptr);
  1023     jthread** threads_ptr);
  1673     char** value_ptr);
  1676     char** value_ptr);
  1674 
  1677 
  1675   /*   132 : Set System Property */
  1678   /*   132 : Set System Property */
  1676   jvmtiError (JNICALL *SetSystemProperty) (jvmtiEnv* env,
  1679   jvmtiError (JNICALL *SetSystemProperty) (jvmtiEnv* env,
  1677     const char* property,
  1680     const char* property,
  1678     const char* value);
  1681     const char* value_ptr);
  1679 
  1682 
  1680   /*   133 : Get Phase */
  1683   /*   133 : Get Phase */
  1681   jvmtiError (JNICALL *GetPhase) (jvmtiEnv* env,
  1684   jvmtiError (JNICALL *GetPhase) (jvmtiEnv* env,
  1682     jvmtiPhase* phase_ptr);
  1685     jvmtiPhase* phase_ptr);
  1683 
  1686 
  2135   jvmtiError ClearFieldModificationWatch(jclass klass,
  2138   jvmtiError ClearFieldModificationWatch(jclass klass,
  2136             jfieldID field) {
  2139             jfieldID field) {
  2137     return functions->ClearFieldModificationWatch(this, klass, field);
  2140     return functions->ClearFieldModificationWatch(this, klass, field);
  2138   }
  2141   }
  2139 
  2142 
       
  2143   jvmtiError GetAllModules(jint* module_count_ptr,
       
  2144             jobject** modules_ptr) {
       
  2145     return functions->GetAllModules(this, module_count_ptr, modules_ptr);
       
  2146   }
       
  2147 
  2140   jvmtiError GetLoadedClasses(jint* class_count_ptr,
  2148   jvmtiError GetLoadedClasses(jint* class_count_ptr,
  2141             jclass** classes_ptr) {
  2149             jclass** classes_ptr) {
  2142     return functions->GetLoadedClasses(this, class_count_ptr, classes_ptr);
  2150     return functions->GetLoadedClasses(this, class_count_ptr, classes_ptr);
  2143   }
  2151   }
  2144 
  2152 
  2482             char** value_ptr) {
  2490             char** value_ptr) {
  2483     return functions->GetSystemProperty(this, property, value_ptr);
  2491     return functions->GetSystemProperty(this, property, value_ptr);
  2484   }
  2492   }
  2485 
  2493 
  2486   jvmtiError SetSystemProperty(const char* property,
  2494   jvmtiError SetSystemProperty(const char* property,
  2487             const char* value) {
  2495             const char* value_ptr) {
  2488     return functions->SetSystemProperty(this, property, value);
  2496     return functions->SetSystemProperty(this, property, value_ptr);
  2489   }
  2497   }
  2490 
  2498 
  2491   jvmtiError GetPhase(jvmtiPhase* phase_ptr) {
  2499   jvmtiError GetPhase(jvmtiPhase* phase_ptr) {
  2492     return functions->GetPhase(this, phase_ptr);
  2500     return functions->GetPhase(this, phase_ptr);
  2493   }
  2501   }
  2529 #ifdef __cplusplus
  2537 #ifdef __cplusplus
  2530 } /* extern "C" */
  2538 } /* extern "C" */
  2531 #endif /* __cplusplus */
  2539 #endif /* __cplusplus */
  2532 
  2540 
  2533 #endif /* !_JAVA_JVMTI_H_ */
  2541 #endif /* !_JAVA_JVMTI_H_ */
  2534