diff options
author | Keith Seitz <keiths@redhat.com> | 2007-06-19 00:10:10 +0000 |
---|---|---|
committer | Keith Seitz <kseitz@gcc.gnu.org> | 2007-06-19 00:10:10 +0000 |
commit | 02b1e78caf8f0769c9589c7b03527eaef78e2a8b (patch) | |
tree | 1001778084e0218424d7169c87f3ac322899ec51 /libjava/interpret-run.cc | |
parent | f7b950b935d2baaf2098e98d32f0145678b8da0f (diff) | |
download | gcc-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.cc | 13 |
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 |