From 21dff5743bdaa076e239ff0aaf45fca64d1b5a4b Mon Sep 17 00:00:00 2001 From: kseitz Date: Tue, 19 Jun 2007 00:10:10 +0000 Subject: * gnu/gcj/jvmti/Breakpoint.java: Make abstract. (method): Change from private to protected. (location): Likewise. (Breakpoint): Change argument list to take only integer type. Add default constructor. (initialize_native): Renamed to ... (_save_insn): ... this to make function more explicit. (execute): New method. * gnu/gcj/jvmti/Breakpoint.h: Regenerate. * gnu/gcj/jvmti/natBreakpoint.cc (initialize_native): Rename to... (_save_insn): ... this. (install): Save the original instruction. * gnu/gcj/jvmti/NormalBreakpoint.java: New file. * gnu/gcj/jvmti/NormalBreakpoint.h: New file. * gnu/gcj/jvmti/natNormalBreakpoint.cc: New file. * gnu/gcj/jvmti/BreakpointManager.java (newBreakpoint): Instantiate a NormalBreakpoint instead of Breakpoint. * interpret-run.cc (insn_breakpoint): Remove breakpoint actions and call Breakpoint.execute to do them. * classpath/lib/gnu/gcj/jvmti/Breakpoint.class: Regenerate. * classpath/lib/gnu/gcj/jvmti/BreakpointManager.class: Likewise. * classpath/lib/gnu/gcj/jvmti/NormalBreakpoint.class: New file. * sources.am: Regenerate. * Makefile.am (nat_source_files): Add natNormalBreakpoint.cc. * Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125834 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/interpret-run.cc | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'libjava/interpret-run.cc') diff --git a/libjava/interpret-run.cc b/libjava/interpret-run.cc index 9be08df488b..1eea57e1f9e 100644 --- a/libjava/interpret-run.cc +++ b/libjava/interpret-run.cc @@ -2619,26 +2619,21 @@ details. */ insn_breakpoint: { - JvAssert (JVMTI_REQUESTED_EVENT (Breakpoint)); - - // Send JVMTI notification using namespace ::java::lang; jmethodID method = meth->self; jlocation location = meth->insn_index (pc - 1); - Thread *thread = Thread::currentThread (); - JNIEnv *jni_env = _Jv_GetCurrentJNIEnv (); - // Save the insn here since the breakpoint could be removed - // before the JVMTI notification returns. using namespace gnu::gcj::jvmti; Breakpoint *bp = BreakpointManager::getBreakpoint (reinterpret_cast (method), location); JvAssert (bp != NULL); + + // Save the insn here since the breakpoint could be removed + // before the JVMTI notification returns. pc_t opc = reinterpret_cast (bp->getInsn ()); - _Jv_JVMTI_PostEvent (JVMTI_EVENT_BREAKPOINT, thread, jni_env, - method, location); + bp->execute (); // Continue execution #ifdef DIRECT_THREADED -- cgit v1.2.3