603 JNIEXPORT jboolean JNICALL |
603 JNIEXPORT jboolean JNICALL |
604 JVM_SupportsCX8(void); |
604 JVM_SupportsCX8(void); |
605 |
605 |
606 JNIEXPORT jboolean JNICALL |
606 JNIEXPORT jboolean JNICALL |
607 JVM_CX8Field(JNIEnv *env, jobject obj, jfieldID fldID, jlong oldVal, jlong newVal); |
607 JVM_CX8Field(JNIEnv *env, jobject obj, jfieldID fldID, jlong oldVal, jlong newVal); |
|
608 |
|
609 /* |
|
610 * com.sun.dtrace.jsdt support |
|
611 */ |
|
612 |
|
613 #define JVM_TRACING_DTRACE_VERSION 1 |
|
614 |
|
615 /* |
|
616 * Structure to pass one probe description to JVM. |
|
617 * |
|
618 * The VM will overwrite the definition of the referenced method with |
|
619 * code that will fire the probe. |
|
620 */ |
|
621 typedef struct { |
|
622 jmethodID method; |
|
623 jstring function; |
|
624 jstring name; |
|
625 void* reserved[4]; // for future use |
|
626 } JVM_DTraceProbe; |
|
627 |
|
628 /** |
|
629 * Encapsulates the stability ratings for a DTrace provider field |
|
630 */ |
|
631 typedef struct { |
|
632 jint nameStability; |
|
633 jint dataStability; |
|
634 jint dependencyClass; |
|
635 } JVM_DTraceInterfaceAttributes; |
|
636 |
|
637 /* |
|
638 * Structure to pass one provider description to JVM |
|
639 */ |
|
640 typedef struct { |
|
641 jstring name; |
|
642 JVM_DTraceProbe* probes; |
|
643 jint probe_count; |
|
644 JVM_DTraceInterfaceAttributes providerAttributes; |
|
645 JVM_DTraceInterfaceAttributes moduleAttributes; |
|
646 JVM_DTraceInterfaceAttributes functionAttributes; |
|
647 JVM_DTraceInterfaceAttributes nameAttributes; |
|
648 JVM_DTraceInterfaceAttributes argsAttributes; |
|
649 void* reserved[4]; // for future use |
|
650 } JVM_DTraceProvider; |
|
651 |
|
652 /* |
|
653 * Get the version number the JVM was built with |
|
654 */ |
|
655 JNIEXPORT jint JNICALL |
|
656 JVM_DTraceGetVersion(JNIEnv* env); |
|
657 |
|
658 /* |
|
659 * Register new probe with given signature, return global handle |
|
660 * |
|
661 * The version passed in is the version that the library code was |
|
662 * built with. |
|
663 */ |
|
664 JNIEXPORT jlong JNICALL |
|
665 JVM_DTraceActivate(JNIEnv* env, jint version, jstring module_name, |
|
666 jint providers_count, JVM_DTraceProvider* providers); |
|
667 |
|
668 /* |
|
669 * Check JSDT probe |
|
670 */ |
|
671 JNIEXPORT jboolean JNICALL |
|
672 JVM_DTraceIsProbeEnabled(JNIEnv* env, jmethodID method); |
|
673 |
|
674 /* |
|
675 * Destroy custom DOF |
|
676 */ |
|
677 JNIEXPORT void JNICALL |
|
678 JVM_DTraceDispose(JNIEnv* env, jlong handle); |
|
679 |
|
680 /* |
|
681 * Check to see if DTrace is supported by OS |
|
682 */ |
|
683 JNIEXPORT jboolean JNICALL |
|
684 JVM_DTraceIsSupported(JNIEnv* env); |
608 |
685 |
609 /************************************************************************* |
686 /************************************************************************* |
610 PART 2: Support for the Verifier and Class File Format Checker |
687 PART 2: Support for the Verifier and Class File Format Checker |
611 ************************************************************************/ |
688 ************************************************************************/ |
612 /* |
689 /* |