< prev index next >

src/hotspot/share/prims/jvmtiExport.hpp

Print this page

354 
355   static void post_thread_start          (JavaThread *thread) NOT_JVMTI_RETURN;
356   static void post_thread_end            (JavaThread *thread) NOT_JVMTI_RETURN;
357 
358   static void post_vthread_start         (jthread vthread) NOT_JVMTI_RETURN;
359   static void post_vthread_end           (jthread vthread) NOT_JVMTI_RETURN;
360   static void post_vthread_mount         (jthread vthread) NOT_JVMTI_RETURN;
361   static void post_vthread_unmount       (jthread vthread) NOT_JVMTI_RETURN;
362 
363   static void continuation_yield_cleanup (JavaThread* thread, jint continuation_frame_count) NOT_JVMTI_RETURN;
364 
365   // Support for java.lang.instrument agent loading.
366   static bool _should_post_class_file_load_hook;
367   inline static void set_should_post_class_file_load_hook(bool on)     { _should_post_class_file_load_hook = on;  }
368   inline static bool should_post_class_file_load_hook()           {
369     JVMTI_ONLY(return _should_post_class_file_load_hook);
370     NOT_JVMTI(return false;)
371   }
372   static bool is_early_phase() NOT_JVMTI_RETURN_(false);
373   static bool has_early_class_hook_env() NOT_JVMTI_RETURN_(false);

374   // Return true if the class was modified by the hook.
375   static bool post_class_file_load_hook(Symbol* h_name, Handle class_loader,
376                                         Handle h_protection_domain,
377                                         unsigned char **data_ptr, unsigned char **end_ptr,
378                                         JvmtiCachedClassFileData **cache_ptr) NOT_JVMTI_RETURN_(false);
379   static void post_native_method_bind(Method* method, address* function_ptr) NOT_JVMTI_RETURN;
380   static void post_compiled_method_load(JvmtiEnv* env, nmethod *nm) NOT_JVMTI_RETURN;
381   static void post_compiled_method_load(nmethod *nm) NOT_JVMTI_RETURN;
382   static void post_dynamic_code_generated(const char *name, const void *code_begin, const void *code_end) NOT_JVMTI_RETURN;
383 
384   // used to post a CompiledMethodUnload event
385   static void post_compiled_method_unload(jmethodID mid, const void *code_begin) NOT_JVMTI_RETURN;
386 
387   // similar to post_dynamic_code_generated except that it can be used to
388   // post a DynamicCodeGenerated event while holding locks in the VM. Any event
389   // posted using this function is recorded by the enclosing event collector
390   // -- JvmtiDynamicCodeEventCollector.
391   static void post_dynamic_code_generated_while_holding_locks(const char* name, address code_begin, address code_end) NOT_JVMTI_RETURN;
392 
393   static void post_garbage_collection_finish() NOT_JVMTI_RETURN;

354 
355   static void post_thread_start          (JavaThread *thread) NOT_JVMTI_RETURN;
356   static void post_thread_end            (JavaThread *thread) NOT_JVMTI_RETURN;
357 
358   static void post_vthread_start         (jthread vthread) NOT_JVMTI_RETURN;
359   static void post_vthread_end           (jthread vthread) NOT_JVMTI_RETURN;
360   static void post_vthread_mount         (jthread vthread) NOT_JVMTI_RETURN;
361   static void post_vthread_unmount       (jthread vthread) NOT_JVMTI_RETURN;
362 
363   static void continuation_yield_cleanup (JavaThread* thread, jint continuation_frame_count) NOT_JVMTI_RETURN;
364 
365   // Support for java.lang.instrument agent loading.
366   static bool _should_post_class_file_load_hook;
367   inline static void set_should_post_class_file_load_hook(bool on)     { _should_post_class_file_load_hook = on;  }
368   inline static bool should_post_class_file_load_hook()           {
369     JVMTI_ONLY(return _should_post_class_file_load_hook);
370     NOT_JVMTI(return false;)
371   }
372   static bool is_early_phase() NOT_JVMTI_RETURN_(false);
373   static bool has_early_class_hook_env() NOT_JVMTI_RETURN_(false);
374   static bool has_early_vmstart_env() NOT_JVMTI_RETURN_(false);
375   // Return true if the class was modified by the hook.
376   static bool post_class_file_load_hook(Symbol* h_name, Handle class_loader,
377                                         Handle h_protection_domain,
378                                         unsigned char **data_ptr, unsigned char **end_ptr,
379                                         JvmtiCachedClassFileData **cache_ptr) NOT_JVMTI_RETURN_(false);
380   static void post_native_method_bind(Method* method, address* function_ptr) NOT_JVMTI_RETURN;
381   static void post_compiled_method_load(JvmtiEnv* env, nmethod *nm) NOT_JVMTI_RETURN;
382   static void post_compiled_method_load(nmethod *nm) NOT_JVMTI_RETURN;
383   static void post_dynamic_code_generated(const char *name, const void *code_begin, const void *code_end) NOT_JVMTI_RETURN;
384 
385   // used to post a CompiledMethodUnload event
386   static void post_compiled_method_unload(jmethodID mid, const void *code_begin) NOT_JVMTI_RETURN;
387 
388   // similar to post_dynamic_code_generated except that it can be used to
389   // post a DynamicCodeGenerated event while holding locks in the VM. Any event
390   // posted using this function is recorded by the enclosing event collector
391   // -- JvmtiDynamicCodeEventCollector.
392   static void post_dynamic_code_generated_while_holding_locks(const char* name, address code_begin, address code_end) NOT_JVMTI_RETURN;
393 
394   static void post_garbage_collection_finish() NOT_JVMTI_RETURN;
< prev index next >