444dd946c8
* gnu/gcj/jvmti/Location.java: New file. * gnu/gcj/jvmti/BreakpointManager.java: New file. * jvmti.cc (_Jv_JVMTI_SetBreakpoint): New function. (_Jv_JVMTI_ClearBreakpoint): New function. (_Jv_JVMTI_Interface): Define SetBreakpoint and ClearBreakpoint. * sources.am: Regenerated. * Makefile.in: Regenerated. From-SVN: r118391
61 lines
1.3 KiB
Java
61 lines
1.3 KiB
Java
// Location.java - a wrapper class for breakpoint locations in JVMTI
|
|
|
|
/* Copyright (C) 2006 Free Software Foundation
|
|
|
|
This file is part of libgcj.
|
|
|
|
This software is copyrighted work licensed under the terms of the
|
|
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
|
details. */
|
|
|
|
package gnu.gcj.jvmti;
|
|
|
|
import java.lang.Long;
|
|
|
|
/**
|
|
* This class represents a breakpoint location (pair<jmethodID,jlocation>).
|
|
* BreakpointManager uses this class as a key in the Map of installed
|
|
* breakpoints.
|
|
*
|
|
* @author Keith Seitz (keiths@redhat.com)
|
|
*/
|
|
public class Location
|
|
{
|
|
// method (a jmethodID in JVMTI)
|
|
private long method;
|
|
|
|
// index (a jlocation in JVMTI)
|
|
private long location;
|
|
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @param method the method defined by this location (a jmethodID)
|
|
* @param location the integer index of the insn in the method (a jlocation)
|
|
*/
|
|
public Location (long method, long location)
|
|
{
|
|
this.method = method;
|
|
this.location = location;
|
|
}
|
|
|
|
public int hashCode ()
|
|
{
|
|
return toString ().hashCode ();
|
|
}
|
|
|
|
public boolean equals (Object obj)
|
|
{
|
|
Location loc = (Location) obj;
|
|
return (loc.method == method && loc.location == location);
|
|
}
|
|
|
|
/**
|
|
* Converts the Location to a String
|
|
*/
|
|
public String toString ()
|
|
{
|
|
return Long.toHexString (method) + "." + Long.toString (location);
|
|
}
|
|
}
|