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
This commit is contained in:
Keith Seitz 2007-04-20 17:08:44 +00:00 committed by Keith Seitz
parent 557435b745
commit 434942d978
4 changed files with 19 additions and 4 deletions

View File

@ -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

View File

@ -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);
}
}
/**

View File

@ -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