interpret-run.cc [...]: Save the original insn for the breakpoint before posting the JVMTI notification.

* interpret-run.cc [insn_breakpoint]: Save the original
        insn for the breakpoint before posting the JVMTI notification.

From-SVN: r123985
This commit is contained in:
Keith Seitz 2007-04-20 00:06:11 +00:00 committed by Keith Seitz
parent 699cee6953
commit 52fdc9b5d9
2 changed files with 11 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2007-04-19 Keith Seitz <keiths@redhat.com>
* interpret-run.cc [insn_breakpoint]: Save the original
insn for the breakpoint before posting the JVMTI notification.
2007-04-19 Tom Tromey <tromey@redhat.com>
* gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.h: Rebuilt.

View File

@ -2600,18 +2600,19 @@ details. */
Thread *thread = Thread::currentThread ();
JNIEnv *jni_env = _Jv_GetCurrentJNIEnv ();
_Jv_JVMTI_PostEvent (JVMTI_EVENT_BREAKPOINT, thread, jni_env,
method, location);
// Continue execution
// 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<jlong> (method),
location);
JvAssert (bp != NULL);
pc_t opc = reinterpret_cast<pc_t> (bp->getInsn ());
_Jv_JVMTI_PostEvent (JVMTI_EVENT_BREAKPOINT, thread, jni_env,
method, location);
// Continue execution
#ifdef DIRECT_THREADED
goto *(opc->insn);
#else