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

JVMTI Spec: clarification, correction, minor additions (October)

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 5.0
    • Fix Version/s: 5.0
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b31
    • CPU:
      generic
    • OS:
      generic

      Description

      Allow GetCurrentThreadCpuTimerInfo, GetCurrentThreadCpuTime, GetTimerInfo, and GetTime during callbacks.

      Allow calling SetTag/GetTag during the onload phase.

      Add:
         Events are sent as they occur. As a result, events that are sent only
         during the live phase will not capture events that occur before VMInit.

      In jvmtiStackReferenceCallback, parameter description of thread_tag, clarify by replacing:
               The tag of the thread object.
      with:
               The tag of the thread corresponding to this stack, zero if not tagged.

      In jvmtiObjectReferenceCallback, description of parameters class_tag, size, and tag_ptr, clarify by replacing "object" with "referree object".

      Add pass through opaque user data pointer to heap iterate functions and callbacks.
      e.g. user_data in
        typedef jvmtiIterationControl (JNICALL *jvmtiObjectReferenceCallback)
          (jvmtiObjectReferenceKind reference_kind, jlong class_tag, jlong size,
           jlong* tag_ptr, jlong referrer_tag, jint referrer_index, void *user_data);
      and
        jvmtiError
        IterateOverObjectsReachableFromObject(jvmtiEnv* env, jobject object,
                  jvmtiObjectReferenceCallback object_reference_callback,
                  void *user_data)

      Grammar, in ResumeThread "All threads currently..." to "Any threads currently..."

      Identifiers misspelled in descriptions "JVMTI_OBJECT..." to "JVMTI_HEAP_OBJECT..."

      In SetEventNotificationMode, add:
              JVMTI_ERROR_ILLEGAL_ARGUMENT -- thread level control is attempted on
                                              events which do not premit thread level control

      Fix broken links by removing elided data types from generated type lists (summary
      and category). e.g. jvmtiExceptionHandlerEntry

      In the CompiledMethodUnload event, the code address must be sent (as it is
      in CompiledMethodLoad) so as to differentiate multiple loads for the same method.
      E.g.
      typedef void (JNICALL *jvmtiEventCompiledMethodUnload)
          (jvmtiEnv *jvmti_env,
          jmethodID method,
          const void* code_addr);

      Fix handling of native methods on the stack --
         location_ptr param of GetFrameLocation -- add "Is set to -1 if frame is native".
         Remove JVMTI_ERROR_OPAQUE_FRAME from GetFrameLocation.
         jvmtiFrameInfo.location -- add "-1 if frame is native".
         jlocation -- add: "-1 indicates a native method."

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rfield Robert Field
                Reporter:
                rfield Robert Field
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: