aboutsummaryrefslogtreecommitdiff
path: root/libjava/interpret-run.cc
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2007-06-19 00:10:10 +0000
committerKeith Seitz <kseitz@gcc.gnu.org>2007-06-19 00:10:10 +0000
commit02b1e78caf8f0769c9589c7b03527eaef78e2a8b (patch)
tree1001778084e0218424d7169c87f3ac322899ec51 /libjava/interpret-run.cc
parentf7b950b935d2baaf2098e98d32f0145678b8da0f (diff)
downloadgcc-02b1e78caf8f0769c9589c7b03527eaef78e2a8b.zip
gcc-02b1e78caf8f0769c9589c7b03527eaef78e2a8b.tar.gz
gcc-02b1e78caf8f0769c9589c7b03527eaef78e2a8b.tar.bz2
Breakpoint.java: Make abstract.
* 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. From-SVN: r125834
Diffstat (limited to 'libjava/interpret-run.cc')
-rw-r--r--libjava/interpret-run.cc13
1 files changed, 4 insertions, 9 deletions
diff --git a/libjava/interpret-run.cc b/libjava/interpret-run.cc
index 9be08df..1eea57e 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<jlong> (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<pc_t> (bp->getInsn ());
- _Jv_JVMTI_PostEvent (JVMTI_EVENT_BREAKPOINT, thread, jni_env,
- method, location);
+ bp->execute ();
// Continue execution
#ifdef DIRECT_THREADED