summaryrefslogtreecommitdiff
path: root/libjava/interpret.cc
diff options
context:
space:
mode:
authorkseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-16 20:12:33 +0000
committerkseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-16 20:12:33 +0000
commit54a9e35cd0e1d924b64f58396fc2fc1ea667f107 (patch)
tree488fc8a0b082ccaaae84342b96cdeb39d5b5ac8e /libjava/interpret.cc
parent1f14446adb1e15a05bbb5c5baaef3d7c41c34a0f (diff)
downloadgcc-54a9e35cd0e1d924b64f58396fc2fc1ea667f107.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124777 138bc75d-0d04-0410-961f-82ee72b054a4
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 b078676365b..18b4ae0e3e9 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)
{