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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user