/* jvmti-int.h -- Internal JVMTI definitions
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007 Free Software Foundation, Inc.
This file is part of GNU Classpath.
False means no JVMTI environment requested that event type. */
namespace JVMTI
{
- bool VMInit;
- bool VMDeath;
- bool ThreadStart;
- bool ThreadEnd;
- bool ClassFileLoadHook;
- bool ClassLoad;
- bool ClassPrepare;
- bool VMStart;
- bool Exception;
- bool ExceptionCatch;
- bool SingleStep;
- bool FramePop;
- bool Breakpoint;
- bool FieldAccess;
- bool FieldModification;
- bool MethodEntry;
- bool MethodExit;
- bool NativeMethodBind;
- bool CompiledMethodLoad;
- bool CompiledMethodUnload;
- bool DynamicCodeGenerated;
- bool DataDumpRequest;
- bool reserved72;
- bool MonitorWait;
- bool MonitorWaited;
- bool MonitorContendedEnter;
- bool MonitorContendedEntered;
- bool reserved77;
- bool reserved78;
- bool reserved79;
- bool reserved80;
- bool GarbageCollectionStart;
- bool GarbageCollectionFinish;
- bool ObjectFree;
- bool VMObjectAlloc;
+ // Is JVMTI enabled? (i.e., any jvmtiEnv created?)
+ extern bool enabled;
+
+ // Event notifications
+ extern bool VMInit;
+ extern bool VMDeath;
+ extern bool ThreadStart;
+ extern bool ThreadEnd;
+ extern bool ClassFileLoadHook;
+ extern bool ClassLoad;
+ extern bool ClassPrepare;
+ extern bool VMStart;
+ extern bool Exception;
+ extern bool ExceptionCatch;
+ extern bool SingleStep;
+ extern bool FramePop;
+ extern bool Breakpoint;
+ extern bool FieldAccess;
+ extern bool FieldModification;
+ extern bool MethodEntry;
+ extern bool MethodExit;
+ extern bool NativeMethodBind;
+ extern bool CompiledMethodLoad;
+ extern bool CompiledMethodUnload;
+ extern bool DynamicCodeGenerated;
+ extern bool DataDumpRequest;
+ extern bool reserved72;
+ extern bool MonitorWait;
+ extern bool MonitorWaited;
+ extern bool MonitorContendedEnter;
+ extern bool MonitorContendedEntered;
+ extern bool reserved77;
+ extern bool reserved78;
+ extern bool reserved79;
+ extern bool reserved80;
+ extern bool GarbageCollectionStart;
+ extern bool GarbageCollectionFinish;
+ extern bool ObjectFree;
+ extern bool VMObjectAlloc;
};
/* A macro to test whether an event should be posted to JVMTI.*/
For speed, this function should only be called after
JVMTI_REQUESTED_EVENT is checked. */
extern void _Jv_JVMTI_PostEvent (jvmtiEvent type, jthread event_thread, ...);
+// Returns the jvmtiEnv used by the JDWP backend
+extern jvmtiEnv *_Jv_GetJDWP_JVMTIEnv (void);
+
+// Reports JVMTI excpetions
+extern void _Jv_ReportJVMTIExceptionThrow (jthrowable);
#endif /* __GCJ_JVMTI_INT_H__ */