< prev index next >

make/data/jdwp/jdwp.spec

Print this page
@@ -90,17 +90,18 @@
          (ErrorSet
              (Error VM_DEAD)
          )
      )
      (Command AllThreads=4
-         "Returns all threads currently running in the target VM . "
-         "The returned list contains threads created through "
-         "java.lang.Thread, all native threads attached to "
-         "the target VM through JNI, and system threads created "
-         "by the target VM. Threads that have not yet been started "
-         "and threads that have completed their execution are not "
-         "included in the returned list. "
+         "Returns the live "
+         "<a href=../../api/java.base/java/lang/Thread.html#platform-threads>platform threads</a> "
+         "in the target VM. The returned list contains platform threads created with "
+         "the java.lang.Thread API and all native threads attached to the target VM "
+         " through JNI. It does not contain "
+         "<a href=../../api/java.base/java/lang/Thread.html#virtual-threads>virtual threads</a>. "
+         "Threads that have not yet been started and threads that have completed "
+         "their execution are also not included in the returned list."
          (Out
          )
          (Reply
              (Repeat threads "Number of threads that follow."
                  (threadObject thread "A running thread")

@@ -422,12 +423,12 @@
                       "Can the VM filter class prepare events by source name?")
              (boolean canGetConstantPool
                       "Can the VM return the constant pool information?")
              (boolean canForceEarlyReturn
                       "Can the VM force early return from a method?")
-             (boolean reserved22
-                      "Reserved for future capability")
+             (boolean supportsVirtualThreads
+                      "Does the VM support virtual threads, temporary capability")
              (boolean reserved23
                       "Reserved for future capability")
              (boolean reserved24
                       "Reserved for future capability")
              (boolean reserved25

@@ -2138,11 +2139,29 @@
              (Error TYPE_MISMATCH   "Value is not an appropriate type for the "
                                     "return value of the method.")
              (Error VM_DEAD)
          )
      )
- 
+     (Command IsVirtual=15
+         "<b>IsVirtual is a preview API of the Java platform.</b> "
+         "<em>Preview features may be removed in a future release, or upgraded to "
+         "permanent features of the Java platform.</em>"
+         "<p>"
+         "Determine if a thread is a "
+         "<a href=../../api/java.base/java/lang/Thread.html#virtual-threads>virtual thread</a>."
+         (Out
+             (threadObject thread "The thread object ID.")
+         )
+         (Reply
+             (boolean isVirtual "true if the thread is a virtual thread.")
+         )
+         (ErrorSet
+             (Error INVALID_THREAD)
+             (Error INVALID_OBJECT    "thread is not a known ID.")
+             (Error VM_DEAD)
+         )
+     )
  )
  (CommandSet ThreadGroupReference=12
      (Command Name=1
          "Returns the thread group name. "
          (Out

@@ -2173,14 +2192,15 @@
              (Error VM_DEAD)
          )
      )
      (Command Children=3
          "Returns the live threads and active thread groups directly contained "
-         "in this thread group. Threads and thread groups in child "
+         "in this thread group. Virtual threads are not considered live threads "
+         "in a thread group and are not included. Threads and thread groups in child "
          "thread groups are not included. "
          "A thread is alive if it has been started and has not yet been stopped. "
-         "See <a href=../../api/java.base/java/lang/ThreadGroup.html>java.lang.ThreadGroup </a>
+         "See <a href=../../api/java.base/java/lang/ThreadGroup.html>java.lang.ThreadGroup</a> "
          "for information about active ThreadGroups.
          (Out
              (threadGroupObject group "The thread group object ID. ")
          )
          (Reply

@@ -2502,10 +2522,18 @@
                                  "given pattern and matches of patterns that "
                                  "begin or end with '*'; for example, "
                                  "\"*.Foo\" or \"java.*\". "
                          )
                      )
+                     (Alt PlatformThreadsOnly=13
+                         "<b>PlatformThreadsOnly is a preview API of the Java platform.</b> "
+                         "<em>Preview features may be removed in a future release, or upgraded to "
+                         "permanent features of the Java platform.</em>"
+                         "<p>"
+                         "For thread start and thread end events, restrict the "
+                         "events so they are only sent for platform threads."
+                     )
  
                  )
              )
          )
          (Reply

@@ -3220,15 +3248,19 @@
      (Constant VM_DEATH               =99  )
      (Constant VM_DISCONNECTED        =100 "Never sent across JDWP")
  )
  
  (ConstantSet ThreadStatus
-     (Constant ZOMBIE                 =0  )
-     (Constant RUNNING                =1  )
-     (Constant SLEEPING               =2  )
-     (Constant MONITOR                =3  )
-     (Constant WAIT                   =4  )
+     (Constant ZOMBIE                 =0  "Thread has terminated.")
+     (Constant RUNNING                =1  "Thread is runnable.")
+     (Constant SLEEPING               =2  "Thread is sleeping, in Thread.sleep.")
+     (Constant MONITOR                =3  "Thread is waiting to enter a synchronized block/method "
+                                          "or, after an Object.wait, waiting to re-enter a "
+                                          "synchronized block/method.")
+     (Constant WAIT                   =4  "Thread is waiting, in Object.wait or LockSupport.park. "
+                                          "A virtual thread that is sleeping in Thread.sleep may "
+                                          "have this thread status instead of SLEEPING.")
  )
  
  (ConstantSet SuspendStatus
      (Constant SUSPEND_STATUS_SUSPENDED = 0x1 )
  )
< prev index next >