diff options
Diffstat (limited to 'libjava/gnu')
| -rw-r--r-- | libjava/gnu/gcj/jvmti/BreakpointManager.java | 10 | ||||
| -rw-r--r-- | libjava/gnu/gcj/jvmti/natBreakpoint.cc | 3 |
2 files changed, 9 insertions, 4 deletions
diff --git a/libjava/gnu/gcj/jvmti/BreakpointManager.java b/libjava/gnu/gcj/jvmti/BreakpointManager.java index 205bf6d8a5b..5ef1b08d4df 100644 --- a/libjava/gnu/gcj/jvmti/BreakpointManager.java +++ b/libjava/gnu/gcj/jvmti/BreakpointManager.java @@ -1,6 +1,6 @@ // BreakpointManager.java - A convenience class for dealing with breakpoints -/* Copyright (C) 2006 Free Software Foundation +/* Copyright (C) 2006, 2007 Free Software Foundation This file is part of libgcj. @@ -45,6 +45,7 @@ public class BreakpointManager { Breakpoint bp = new Breakpoint (method, location); Location loc = new Location (method, location); + bp.install (); _instance._breakpoints.put (loc, bp); return bp; } @@ -58,7 +59,12 @@ public class BreakpointManager public static void deleteBreakpoint (long method, long location) { Location loc = new Location (method, location); - _instance._breakpoints.remove (loc); + Breakpoint bp = (Breakpoint) _instance._breakpoints.get (loc); + if (bp != null) + { + bp.remove (); + _instance._breakpoints.remove (loc); + } } /** diff --git a/libjava/gnu/gcj/jvmti/natBreakpoint.cc b/libjava/gnu/gcj/jvmti/natBreakpoint.cc index ab9de417bb8..2a85a939b92 100644 --- a/libjava/gnu/gcj/jvmti/natBreakpoint.cc +++ b/libjava/gnu/gcj/jvmti/natBreakpoint.cc @@ -1,6 +1,6 @@ // natBreakpoint.cc - C++ side of Breakpoint -/* Copyright (C) 2006 Free Software Foundation +/* Copyright (C) 2006, 2007 Free Software Foundation This file is part of libgcj. @@ -39,7 +39,6 @@ gnu::gcj::jvmti::Breakpoint::initialize_native () pc_t code = imeth->get_insn (location); data = (RawDataManaged *) JvAllocBytes (sizeof (*code)); memcpy (data, code, sizeof (*code)); - install (); } void |

