diff options
author | Keith Seitz <keiths@redhat.com> | 2007-04-20 17:08:44 +0000 |
---|---|---|
committer | Keith Seitz <kseitz@gcc.gnu.org> | 2007-04-20 17:08:44 +0000 |
commit | 434942d97839fe237d170b00b008cae182f8560d (patch) | |
tree | c430d2af6770eac03baa4c4fc823a9215cf18bae | |
parent | 557435b74582557c1aba017c56f3a6efdce67a2c (diff) | |
download | gcc-434942d97839fe237d170b00b008cae182f8560d.zip gcc-434942d97839fe237d170b00b008cae182f8560d.tar.gz gcc-434942d97839fe237d170b00b008cae182f8560d.tar.bz2 |
BreakpointManager.java (newBreakpoint): Install the new breakpoint into the bytecode.
* 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.
From-SVN: r123997
-rw-r--r-- | libjava/ChangeLog | 10 | ||||
-rw-r--r-- | libjava/classpath/lib/gnu/gcj/jvmti/BreakpointManager.class | bin | 1275 -> 1362 bytes | |||
-rw-r--r-- | libjava/gnu/gcj/jvmti/BreakpointManager.java | 10 | ||||
-rw-r--r-- | libjava/gnu/gcj/jvmti/natBreakpoint.cc | 3 |
4 files changed, 19 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 6e916a7..b29a443 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,13 @@ +2007-04-20 Keith Seitz <keiths@redhat.com> + + * 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. + 2007-04-19 Keith Seitz <keiths@redhat.com> * interpret-run.cc [insn_breakpoint]: Save the original diff --git a/libjava/classpath/lib/gnu/gcj/jvmti/BreakpointManager.class b/libjava/classpath/lib/gnu/gcj/jvmti/BreakpointManager.class Binary files differindex c0bf977..2f35c7f 100644 --- a/libjava/classpath/lib/gnu/gcj/jvmti/BreakpointManager.class +++ b/libjava/classpath/lib/gnu/gcj/jvmti/BreakpointManager.class diff --git a/libjava/gnu/gcj/jvmti/BreakpointManager.java b/libjava/gnu/gcj/jvmti/BreakpointManager.java index 205bf6d..5ef1b08 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 ab9de41..2a85a93 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 |