jvmti-int.h (JVMTI): Declare member "enabled".

* include/jvmti-int.h (JVMTI): Declare member "enabled".
        * jvmti.cc (JVMTI): Add member "enabled".
        (_Jv_GetJVMTIEnv): Mark JVMTI enabled.
        * interpret.cc (_Jv_InterpMethod::ncode): Use JVMTI::enabled
        instead of gnu::classpath::jdwp::Jdwp::isDebugging.
        (_Jv_CompileMethod): If JVMTI is enabled, use run_debug
        instead of run to compile the method.

        * interpret-run.cc [DEBUG] (NEXT_INSN): Add JVMTI single step
        notification.

From-SVN: r121442
This commit is contained in:
Keith Seitz
2007-01-31 23:25:39 +00:00
parent f6671c9376
commit c6923d93eb
4 changed files with 70 additions and 18 deletions
+35
View File
@@ -248,7 +248,27 @@ details. */
#ifdef DIRECT_THREADED
#ifdef DEBUG
#undef NEXT_INSN
#define NEXT_INSN \
do \
{ \
if (JVMTI_REQUESTED_EVENT (SingleStep)) \
{ \
JNIEnv *env = _Jv_GetCurrentJNIEnv (); \
jmethodID method = meth->self; \
jlocation loc = meth->insn_index (pc); \
_Jv_JVMTI_PostEvent (JVMTI_EVENT_SINGLE_STEP, thread, \
env, method, loc); \
} \
goto *((pc++)->insn); \
} \
while (0)
#else
#undef NEXT_INSN
#define NEXT_INSN goto *((pc++)->insn)
#endif
#define INTVAL() ((pc++)->int_val)
#define AVAL() ((pc++)->datum)
@@ -281,7 +301,22 @@ details. */
#else
#ifdef DEBUG
#define NEXT_INSN \
do \
{ \
if (JVMTI_REQUESTED_EVENT (SingleStep)) \
{ \
JNIEnv *env = _Jv_GetCurrentJNIEnv (); \
jmethodID method = meth->self; \
jlocation loc = meth->insn_index (pc); \
_Jv_JVMTI_PostEvent (JVMTI_EVENT_SINGLE_STEP, thread, \
env, method, loc); \
} \
goto *(insn_target[*pc++])
#else
#define NEXT_INSN goto *(insn_target[*pc++])
#endif
#define GET1S() get1s (pc++)
#define GET2S() (pc += 2, get2s (pc- 2))