< prev index next >

src/java.se/share/data/jdwp/jdwp.spec

Print this page
*** 1,7 ***
  /*
!  * Copyright (c) 1998, 2025, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.  Oracle designates this
--- 1,7 ---
  /*
!  * Copyright (c) 1998, 2026, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.  Oracle designates this

*** 2127,10 ***
--- 2127,13 ---
          "<p>"
          "The called method must be a non-native Java programming "
          "language method. Forcing return on a thread with only one "
          "frame on the stack causes the thread to exit when resumed. "
          "<p>"
+         "When preview features are enabled, the method can not be the "
+         "constructor of a value class."
+         "<p>"
          "For void methods, the value must be a void value. "
          "For methods that return primitive values, the value's type must "
          "match the return type exactly.  For object values, there must be a "
          "widening reference conversion from the value's type to the "
          "return type type and the return type must be loaded. "

*** 2147,11 ***
              (Error INVALID_THREAD    "The thread is null, not a valid thread, or "
                                       "the thread is not alive.")
              (Error INVALID_OBJECT    "Thread or value is not a known ID.")
              (Error THREAD_NOT_SUSPENDED)
              (Error OPAQUE_FRAME      "Unable to force the current frame to return "
!                                      "(e.g. the current frame is executing a native method).")
              (Error NO_MORE_FRAMES)
              (Error NOT_IMPLEMENTED)
              (Error TYPE_MISMATCH   "Value is not an appropriate type for the "
                                     "return value of the method.")
              (Error VM_DEAD)
--- 2150,12 ---
              (Error INVALID_THREAD    "The thread is null, not a valid thread, or "
                                       "the thread is not alive.")
              (Error INVALID_OBJECT    "Thread or value is not a known ID.")
              (Error THREAD_NOT_SUSPENDED)
              (Error OPAQUE_FRAME      "Unable to force the current frame to return "
!                                      "(e.g. the current frame is executing a native method or "
+                                      "the current frame is the constructor for a value class).")
              (Error NO_MORE_FRAMES)
              (Error NOT_IMPLEMENTED)
              (Error TYPE_MISMATCH   "Value is not an appropriate type for the "
                                     "return value of the method.")
              (Error VM_DEAD)

*** 2505,11 ***
                          (int depth "relative call stack limit. "
                             "See <a href=\"#JDWP_StepDepth\">JDWP.StepDepth</a>")
                      )
                      (Alt InstanceOnly=11
                          "Restricts reported events to those whose "
!                         "active 'this' object is the given object. "
                          "Match value is the null object for static methods. "
                          "This modifier can be used with any event kind "
                          "except class prepare, class unload, thread start, "
                          "and thread end. Introduced in JDWP version 1.4."
  
--- 2509,12 ---
                          (int depth "relative call stack limit. "
                             "See <a href=\"#JDWP_StepDepth\">JDWP.StepDepth</a>")
                      )
                      (Alt InstanceOnly=11
                          "Restricts reported events to those whose "
!                         "active 'this' object is the given object "
+                         "as determined by applying the Java == operator. "
                          "Match value is the null object for static methods. "
                          "This modifier can be used with any event kind "
                          "except class prepare, class unload, thread start, "
                          "and thread end. Introduced in JDWP version 1.4."
  

*** 2597,10 ***
--- 2602,17 ---
          "Even if local variable information is not available, values can "
          "be retrieved if the front-end is able to "
          "determine the correct local variable index. (Typically, this "
          "index can be determined for method arguments from the method "
          "signature without access to the local variable table information.) "
+         "<p>"
+         "When preview features are enabled, if the local variable is the 'this' "
+         "object and represents a value object under construction, the value returned "
+         "will be for a snapshot of the value object, not a reference to the actual "
+         "value object under construction. Therefore the value returned will not reflect "
+         "changes to the value object that happen later on during construction."
+         
          (Out
              (threadObject thread "The frame's thread. ")
              (frame frame "The frame ID. ")
              (Repeat slots "The number of values to get. "
                  (Group SlotInfo

*** 2668,10 ***
--- 2680,17 ---
      )
      (Command ThisObject=3
          "Returns the value of the 'this' reference for this frame. "
          "If the frame's method is static or native, the reply "
          "will contain the null object reference. "
+         "<p>"
+         "When preview features are enabled and 'this' represents a value object
+         "under construction, the value returned will be for a snapshot of the "
+         "value object, not a reference to the actual value object under "
+         "construction. Therefore the value returned will not reflect "
+         "changes to the value object that happen later on during "
+         "construction."
          (Out
              (threadObject thread "The frame's thread. ")
              (frame frame "The frame ID. ")
          )
          (Reply
< prev index next >