aboutsummaryrefslogtreecommitdiff
path: root/libjava/interpret.cc
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2007-05-16 20:12:33 +0000
committerKeith Seitz <kseitz@gcc.gnu.org>2007-05-16 20:12:33 +0000
commit8faab1f43bae896cd4fab5aa3e1e4dbfa16e2396 (patch)
tree488fc8a0b082ccaaae84342b96cdeb39d5b5ac8e /libjava/interpret.cc
parentc747a42fb45a98b4f530aaf754ee94353ad0d632 (diff)
downloadgcc-8faab1f43bae896cd4fab5aa3e1e4dbfa16e2396.zip
gcc-8faab1f43bae896cd4fab5aa3e1e4dbfa16e2396.tar.gz
gcc-8faab1f43bae896cd4fab5aa3e1e4dbfa16e2396.tar.bz2
java-interp.h (breakpoint_at): Declare.
* include/java-interp.h (breakpoint_at): Declare. * interpret.cc (breakpoint_at): New function. * gnu/classpath/jdwp/VMVirtualMachine.java (_event_list): New member. * gnu/classpath/jdwp/natVMVirtualMachine.cc (initialize): Initialize _event_list. (handle_single_step): If there is a breakpoint at the location at which we are stopping, do not send the notification. Instead add the event to a list of events that occur at this location. (jdwpBreakpointCB): If the event list is not empty, send whatever events are in it and the breakpoint event in a single notification. Mark parameter jni_env as MAYBE_UNUSED. * classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class: Regenerated. * gnu/classpath/jdwp/VMVirtualMachine.h: Regenerated. From-SVN: r124777
Diffstat (limited to 'libjava/interpret.cc')
-rw-r--r--libjava/interpret.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/libjava/interpret.cc b/libjava/interpret.cc
index b078676..18b4ae0 100644
--- a/libjava/interpret.cc
+++ b/libjava/interpret.cc
@@ -1580,6 +1580,23 @@ _Jv_InterpMethod::set_insn (jlong index, pc_t insn)
return &code[index];
}
+bool
+_Jv_InterpMethod::breakpoint_at (jlong index)
+{
+ pc_t insn = get_insn (index);
+ if (insn != NULL)
+ {
+#ifdef DIRECT_THREADED
+ return (insn->insn == breakpoint_insn->insn);
+#else
+ pc_t code = reinterpret_cast<pc_t> (bytecode ());
+ return (code[index] == breakpoint_insn);
+#endif
+ }
+
+ return false;
+}
+
void *
_Jv_JNIMethod::ncode (jclass klass)
{