< prev index next >

src/hotspot/share/prims/jvmtiEventController.hpp

Print this page
@@ -42,17 +42,21 @@
  // jvmtiExtEvent is the extensions equivalent of jvmtiEvent
  // jvmtiExtCallbacks is the extensions equivalent of jvmtiEventCallbacks
  
  // Extension events start JVMTI_MIN_EVENT_TYPE_VAL-1 and work towards 0.
  typedef enum {
+   EXT_EVENT_VIRTUAL_THREAD_UNMOUNT = JVMTI_MIN_EVENT_TYPE_VAL-3,
+   EXT_EVENT_VIRTUAL_THREAD_MOUNT = JVMTI_MIN_EVENT_TYPE_VAL-2,
    EXT_EVENT_CLASS_UNLOAD = JVMTI_MIN_EVENT_TYPE_VAL-1,
-   EXT_MIN_EVENT_TYPE_VAL = EXT_EVENT_CLASS_UNLOAD,
+   EXT_MIN_EVENT_TYPE_VAL = EXT_EVENT_VIRTUAL_THREAD_UNMOUNT,
    EXT_MAX_EVENT_TYPE_VAL = EXT_EVENT_CLASS_UNLOAD
  } jvmtiExtEvent;
  
  typedef struct {
    jvmtiExtensionEvent ClassUnload;
+   jvmtiExtensionEvent VirtualThreadMount;
+   jvmtiExtensionEvent VirtualThreadUnmount;
  } jvmtiExtEventCallbacks;
  
  
  // The complete range of events is EXT_MIN_EVENT_TYPE_VAL to
  // JVMTI_MAX_EVENT_TYPE_VAL (inclusive and contiguous).

@@ -207,11 +211,11 @@
    }
  
    // Use (thread == NULL) to enable/disable an event globally.
    // Use (thread != NULL) to enable/disable an event for a particular thread.
    // thread is ignored for events that can only be specified globally
-   static void set_user_enabled(JvmtiEnvBase *env, JavaThread *thread,
+   static void set_user_enabled(JvmtiEnvBase *env, JavaThread *thread, oop thread_oop,
                                 jvmtiEvent event_type, bool enabled);
  
    // Setting callbacks changes computed enablement and must be done
    // at a safepoint otherwise a NULL callback could be attempted
    static void set_event_callbacks(JvmtiEnvBase *env,
< prev index next >