< prev index next >

src/hotspot/share/prims/jvmtiExport.hpp

Print this page




 143   inline static void set_can_walk_any_space(bool on) {
 144     JVMTI_ONLY(_can_walk_any_space = (on != 0);)
 145   }
 146 
 147   enum {
 148     JVMTI_VERSION_MASK   = 0x70000000,
 149     JVMTI_VERSION_VALUE  = 0x30000000,
 150     JVMDI_VERSION_VALUE  = 0x20000000
 151   };
 152 
 153   static void post_field_modification(JavaThread *thread, Method* method, address location,
 154                                       Klass* field_klass, Handle object, jfieldID field,
 155                                       char sig_type, jvalue *value);
 156 
 157 
 158   // posts a DynamicCodeGenerated event (internal/private implementation).
 159   // The public post_dynamic_code_generated* functions make use of the
 160   // internal implementation.  Also called from JvmtiDeferredEvent::post()
 161   static void post_dynamic_code_generated_internal(const char *name, const void *code_begin, const void *code_end) NOT_JVMTI_RETURN;
 162 

 163  private:
 164 
 165   // GenerateEvents support to allow posting of CompiledMethodLoad and
 166   // DynamicCodeGenerated events for a given environment.
 167   friend class JvmtiCodeBlobEvents;
 168 
 169   static void post_compiled_method_load(JvmtiEnv* env, nmethod *nm) NOT_JVMTI_RETURN;
 170   static void post_dynamic_code_generated(JvmtiEnv* env, const char *name, const void *code_begin,
 171                                           const void *code_end) NOT_JVMTI_RETURN;
 172 
 173   // This flag indicates whether RedefineClasses() has ever redefined
 174   // one or more classes during the lifetime of the VM. The flag should
 175   // only be set by the friend class and can be queried by other sub
 176   // systems as needed to relax invariant checks.
 177   static uint64_t _redefinition_count;
 178   friend class VM_RedefineClasses;
 179   inline static void increment_redefinition_count() {
 180     JVMTI_ONLY(_redefinition_count++;)
 181   }
 182   // Flag to indicate if the compiler has recorded all dependencies. When the




 143   inline static void set_can_walk_any_space(bool on) {
 144     JVMTI_ONLY(_can_walk_any_space = (on != 0);)
 145   }
 146 
 147   enum {
 148     JVMTI_VERSION_MASK   = 0x70000000,
 149     JVMTI_VERSION_VALUE  = 0x30000000,
 150     JVMDI_VERSION_VALUE  = 0x20000000
 151   };
 152 
 153   static void post_field_modification(JavaThread *thread, Method* method, address location,
 154                                       Klass* field_klass, Handle object, jfieldID field,
 155                                       char sig_type, jvalue *value);
 156 
 157 
 158   // posts a DynamicCodeGenerated event (internal/private implementation).
 159   // The public post_dynamic_code_generated* functions make use of the
 160   // internal implementation.  Also called from JvmtiDeferredEvent::post()
 161   static void post_dynamic_code_generated_internal(const char *name, const void *code_begin, const void *code_end) NOT_JVMTI_RETURN;
 162 
 163   static void post_class_unload_internal(const char *name) NOT_JVMTI_RETURN;
 164  private:
 165 
 166   // GenerateEvents support to allow posting of CompiledMethodLoad and
 167   // DynamicCodeGenerated events for a given environment.
 168   friend class JvmtiCodeBlobEvents;
 169 
 170   static void post_compiled_method_load(JvmtiEnv* env, nmethod *nm) NOT_JVMTI_RETURN;
 171   static void post_dynamic_code_generated(JvmtiEnv* env, const char *name, const void *code_begin,
 172                                           const void *code_end) NOT_JVMTI_RETURN;
 173 
 174   // This flag indicates whether RedefineClasses() has ever redefined
 175   // one or more classes during the lifetime of the VM. The flag should
 176   // only be set by the friend class and can be queried by other sub
 177   // systems as needed to relax invariant checks.
 178   static uint64_t _redefinition_count;
 179   friend class VM_RedefineClasses;
 180   inline static void increment_redefinition_count() {
 181     JVMTI_ONLY(_redefinition_count++;)
 182   }
 183   // Flag to indicate if the compiler has recorded all dependencies. When the


< prev index next >