summaryrefslogtreecommitdiffstats
path: root/libjava/gnu
diff options
context:
space:
mode:
authorkseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-20 17:08:44 +0000
committerkseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-20 17:08:44 +0000
commitf6373e139d836eb212d8ce81be3146b362af884f (patch)
treec430d2af6770eac03baa4c4fc823a9215cf18bae /libjava/gnu
parentf0d5a1589f92e80bf596dd8045dcecc5a84d0747 (diff)
downloadppe42-gcc-f6373e139d836eb212d8ce81be3146b362af884f.tar.gz
ppe42-gcc-f6373e139d836eb212d8ce81be3146b362af884f.zip
* gnu/gcj/jvmti/BreakpointManager.java (newBreakpoint):
Install the new breakpoint into the bytecode. (deleteBreakpoint): Remove the breakpoint from the bytecode. * classpath/lib/gnu/gcj/jvmti/BreakpointManager.class: Regenerate. * gnu/gcj/jvmti/natBreakpoint.cc (initialize_native): Don't install the breakpoint here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123997 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu')
-rw-r--r--libjava/gnu/gcj/jvmti/BreakpointManager.java10
-rw-r--r--libjava/gnu/gcj/jvmti/natBreakpoint.cc3
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
OpenPOWER on IntegriCloud