diff options
| author | Keith Seitz <keiths@redhat.com> | 2007-03-27 18:42:49 +0000 |
|---|---|---|
| committer | Keith Seitz <kseitz@gcc.gnu.org> | 2007-03-27 18:42:49 +0000 |
| commit | fd6a66a10afd7a3c29da6609a10d9f0ad9f8de52 (patch) | |
| tree | eb86eb4fedefc71e12376b94701ea3f9e9041fbd /libjava/gnu/classpath/jdwp/VMVirtualMachine.java | |
| parent | ab065b4d759004950fca79cd18a9e186f74f8e0a (diff) | |
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
Diffstat (limited to 'libjava/gnu/classpath/jdwp/VMVirtualMachine.java')
| -rw-r--r-- | libjava/gnu/classpath/jdwp/VMVirtualMachine.java | 113 |
1 files changed, 104 insertions, 9 deletions
diff --git a/libjava/gnu/classpath/jdwp/VMVirtualMachine.java b/libjava/gnu/classpath/jdwp/VMVirtualMachine.java index da0fef28c10..a1249d1938e 100644 --- a/libjava/gnu/classpath/jdwp/VMVirtualMachine.java +++ b/libjava/gnu/classpath/jdwp/VMVirtualMachine.java @@ -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 - */ - public static native int getAllLoadedClassesCount () - throws JdwpException; - - /** - * Returns an iterator over all the loaded classes in the VM + * Returns a Collection of all classes loaded 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); } |
