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