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

View file

@ -1297,34 +1297,34 @@ _Jv_InterpMethod::ncode ()
{
if (staticp)
{
if (::gnu::classpath::jdwp::Jdwp::isDebugging)
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_synch_class_debug;
else
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_synch_class;
if (JVMTI::enabled)
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_synch_class_debug;
else
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_synch_class;
}
else
{
if (::gnu::classpath::jdwp::Jdwp::isDebugging)
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_synch_object_debug;
else
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_synch_object;
}
if (JVMTI::enabled)
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_synch_object_debug;
else
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_synch_object;
}
}
else
{
if (staticp)
{
if (::gnu::classpath::jdwp::Jdwp::isDebugging)
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_class_debug;
else
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_class;
if (JVMTI::enabled)
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_class_debug;
else
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_class;
}
else
{
if (::gnu::classpath::jdwp::Jdwp::isDebugging)
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_normal_debug;
else
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_normal;
if (JVMTI::enabled)
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_normal_debug;
else
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_normal;
}
}
@ -1680,7 +1680,12 @@ void
_Jv_CompileMethod (_Jv_InterpMethod* method)
{
if (method->prepared == NULL)
_Jv_InterpMethod::run (NULL, NULL, method);
{
if (JVMTI::enabled)
_Jv_InterpMethod::run_debug (NULL, NULL, method);
else
_Jv_InterpMethod::run (NULL, NULL, method);
}
}
#endif // DIRECT_THREADED