VMFrame.java: Update from upstream classpath.

* gnu/classpath/jdwp/VMFrame.java: Update from upstream
        classpath.
        * gnu/classpath/jdwp/natVMFrame.cc: Likewise.
        * gnu/classpath/jdwp/VMVirtualMachine.java: Likewise.
        * gnu/classpath/jdwp/natVMVirtualMachine.cc: Likewise.
        (initialize): Fix compiler type-punning warning.
        (getAllLoadedClasses): Return empty list instead of NULL.
        (getLoadRequests): Likewise.
        * gnu/classpath/jdwp/exception/InvalidTagException.h: New file.
        * gnu/classpath/jdwp/exception/InvalidSlotException.h: New file.
        * gnu/classpath/jdwp/exception/TypeMismatchException.h: New file.
        * gnu/classpath/jdwp/VMVirtualMachine.h: Rebuilt.
        * gnu/classpath/jdwp/value/CharValue.h: New file.
        * gnu/classpath/jdwp/value/LongValue.h: New file.
        * gnu/classpath/jdwp/value/ShortValue.h: New file.
        * gnu/classpath/jdwp/value/Value.h: New file.
        * gnu/classpath/jdwp/value/BooleanValue.h: New file.
        * gnu/classpath/jdwp/value/VoidValue.h: New file.
        * gnu/classpath/jdwp/value/ByteValue.h: New file.
        * gnu/classpath/jdwp/value/FloatValue.h: New file.
        * gnu/classpath/jdwp/value/ObjectValue.h: New file.
        * gnu/classpath/jdwp/value/StringValue.h: New file.
        * gnu/classpath/jdwp/value/ValueFactory.h: New file.
        * gnu/classpath/jdwp/value/IntValue.h: New file.
        * gnu/classpath/jdwp/value/DoubleValue.h: New file.
        * gnu/classpath/jdwp/VMFrame.h: Rebuilt.
        * gnu/classpath/jdwp/id/NullObjectId.h: New file.
        * gnu/classpath/jdwp/util/MethodResult.h: Rebuilt.
        * gnu/classpath/jdwp/util/NullObject.h: New file.
        * gnu/classpath/jdwp/util/MonitorInfo.h: New file.
        * Makefile.in: Rebuilt.
        * sources.am: Rebuilt.

From-SVN: r123266
This commit is contained in:
Keith Seitz
2007-03-27 18:42:49 +00:00
committed by Keith Seitz
parent ab065b4d75
commit fd6a66a10a
29 changed files with 1095 additions and 31 deletions
@@ -45,11 +45,13 @@ import gnu.classpath.jdwp.event.EventRequest;
import gnu.classpath.jdwp.exception.InvalidMethodException;
import gnu.classpath.jdwp.exception.JdwpException;
import gnu.classpath.jdwp.util.MethodResult;
import gnu.classpath.jdwp.util.MonitorInfo;
import java.lang.reflect.Method;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Hashtable;
import java.util.Iterator;
/**
* A virtual machine according to JDWP.
@@ -58,6 +60,23 @@ import java.util.Iterator;
*/
public class VMVirtualMachine
{
// VM Capabilities
public static final boolean canWatchFieldModification = false;
public static final boolean canWatchFieldAccess = false;
public static final boolean canGetBytecodes = false;
public static final boolean canGetSyntheticAttribute = false;
public static final boolean canGetOwnedMonitorInfo = false;
public static final boolean canGetCurrentContendedMonitor = false;
public static final boolean canGetMonitorInfo = false;
public static final boolean canRedefineClasses = false;
public static final boolean canAddMethod = false;
public static final boolean canUnrestrictedlyRedefineClasses = false;
public static final boolean canPopFrames = false;
public static final boolean canUseInstanceFilters = false;
public static final boolean canGetSourceDebugExtension = false;
public static final boolean canRequestVMDeathEvent = false;
public static final boolean canSetDefaultStratum = false;
// Thread suspension table. Maps Thread to suspend count (Integer)
private static Hashtable _jdwp_suspend_counts;
@@ -179,15 +198,9 @@ public class VMVirtualMachine
throws JdwpException;
/**
* Returns a count of the number of loaded classes in the VM
* Returns a Collection of all classes loaded in the VM
*/
public static native int getAllLoadedClassesCount ()
throws JdwpException;
/**
* Returns an iterator over all the loaded classes in the VM
*/
public static native Iterator getAllLoadedClasses ()
public static native Collection getAllLoadedClasses ()
throws JdwpException;
/**
@@ -335,4 +348,86 @@ public class VMVirtualMachine
*/
public static native void clearEvents (byte kind)
throws JdwpException;
/**
* Redefines the given types. VM must support canRedefineClasses
* capability (may also require canAddMethod and/or
* canUnrestrictedlyRedefineClasses capabilities)
*
* @param types the classes to redefine
* @param bytecodes the new bytecode definitions for the classes
*/
public static native void redefineClasses(Class[] types, byte[][] bytecodes)
throws JdwpException;
/**
* Sets the default stratum. VM must support the
* canSetDefaultStratum capability.
*
* @param stratum the new default stratum or empty string to
* use the reference default
*/
public static native void setDefaultStratum(String stratum)
throws JdwpException;
/**
* Returns the source debug extension. VM must support the
* canGetSourceDebugExtension capability.
*
* @param klass the class for which to return information
* @returns the source debug extension
*/
public static native String getSourceDebugExtension(Class klass)
throws JdwpException;
/**
* Returns the bytecode for the given method. VM must support the
* canGetBytecodes capability.
*
* @param method the method for which to get bytecodes
* @returns the bytecodes
*/
public static native byte[] getBytecodes(VMMethod method)
throws JdwpException;
/**
* Returns monitor information about an object. VM must support
* the canGetMonitorInformation capability.
*
* @param obj the object
* @returns monitor information (owner, entry count, waiters)
*/
public static native MonitorInfo getMonitorInfo(Object obj)
throws JdwpException;
/**
* Returns a list of owned monitors. VM must support the
* canGetOwnedMonitorInfo capability.
*
* @param thread a thread
* @returns the list of monitors owned by this thread
*/
public static native Object[] getOwnedMonitors(Thread thread)
throws JdwpException;
/**
* Returns the current contended monitor for a thread. VM must
* support canGetCurrentContendedMonitor capability.
*
* @param thread the thread
* @returns the contended monitor
*/
public static native Object getCurrentContendedMonitor(Thread thread)
throws JdwpException;
/**
* Pop all frames up to and including the given frame. VM must
* support canPopFrames capability. It is the responsibility
* of the VM to check if the thread is suspended. If it is not,
* the VM should throw ThreadNotSuspendedException.
*
* @param thread the thread
* @param frame the frame ID
*/
public static native void popFrames(Thread thread, long frameId);
}