jvm.h (_Jv_JVMTI_Init): Declare.

* include/jvm.h (_Jv_JVMTI_Init): Declare.
        * jvmti.cc (_Jv_JVMTI_Init): New function.
        * prims.cc (_Jv_CreateJavaVM): Initialize JVMTI.

        * jvmti.cc (ILLEGAL_ARGUMENT): New macro.
        (_Jv_JVMTI_Allocate): Use ILLEGAL_ARUMENT.

        * jvmti.cc (_jvmtiEnvironments): New linked list of
        JVMTI environments.
        (FOREACH_ENVIRONMENT): New macro.
        (_envListLock): New object to act as synchronization lock
        for _jvmtiEnvironments.
        (_Jv_JVMTI_DisposeEnvironment): Check for NULL environment.
        Remove the environment from the list of known environments.
        (_Jv_GetJVMTIEnv): Add the new environment to the list
        of known environments.

From-SVN: r116635
This commit is contained in:
Keith Seitz 2006-09-01 17:42:23 +00:00 committed by Keith Seitz
parent 39ac097709
commit e6789bef7a
4 changed files with 95 additions and 4 deletions

View file

@ -573,10 +573,13 @@ void _Jv_FreeJNIEnv (_Jv_JNIEnv *);
struct _Jv_JavaVM;
_Jv_JavaVM *_Jv_GetJavaVM ();
/* Get the JVMTI environment */
/* Get a JVMTI environment */
struct _Jv_JVMTIEnv;
_Jv_JVMTIEnv *_Jv_GetJVMTIEnv (void);
/* Initialize JVMTI */
extern void _Jv_JVMTI_Init (void);
// Some verification functions from defineclass.cc.
bool _Jv_VerifyFieldSignature (_Jv_Utf8Const*sig);
bool _Jv_VerifyMethodSignature (_Jv_Utf8Const*sig);