Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6253538

Support early return from methods

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P3 P3
    • 6
    • 6
    • hotspot
    • None
    • 6
    • b37
    • generic
    • generic

      We need the following 6 functions to be implemented in JVM TI to support debugger:

      jvmtiError ForceEarlyReturnObject(jvmtiEnv* env, jthread thread, jobject value);
      jvmtiError ForceEarlyReturnInt(jvmtiEnv* env, jthread thread, jint value);
      jvmtiError ForceEarlyReturnLong(jvmtiEnv* env, jthread thread, jlong value);
      jvmtiError ForceEarlyReturnFloat(jvmtiEnv* env, jthread thread, jfloat value);
      jvmtiError ForceEarlyReturnDouble(jvmtiEnv* env, jthread thread, jdouble value);
      jvmtiError ForceEarlyReturnVoid(jvmtiEnv* env, jthread thread);

      Please, see the corresponding Debugger CR:
         6175634: Allow early return from methods

      Short description:
        - Simulate a return from the topmost stack frame of thread's stack,
          returning 'value' if needed.
        - 'value' must be assignment compatible with the return type of the method
           for the topmost frame.
        - Locks acquired by the topmost frame are released.
        - Finally blocks are not executed.
        - The specified thread must be the current thread or must be suspended.
        - The current method must be non-native Java programming language methods
        - JVM TI events are generated as in usual return.
        - This function may only be called during the live phase.
        - The set of the return codes is the same as for PopFrame plus this one:
            JVMTI_ERROR_TYPE_MISMATCH - If the top-frame function return type is not
                                        an appropriate type for the function used.
      ###@###.### 2005-04-11 20:20:22 GMT
      ###@###.### 2005-04-26 06:57:42 GMT

            sspitsyn Serguei Spitsyn
            sspitsyn Serguei Spitsyn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: