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

View file

@ -1,3 +1,38 @@
2007-03-27 Keith Seitz <keiths@redhat.com>
* 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.
2006-03-26 David Daney <ddaney@avtrex.com>
* configure.ac: Remove checks for mktime, alloca, ioctl, gmtime_r,

View file

@ -159,9 +159,10 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \
gnu/classpath/jdwp/exception.lo gnu/classpath/jdwp/id.lo \
gnu/classpath/jdwp/processor.lo \
gnu/classpath/jdwp/transport.lo gnu/classpath/jdwp/util.lo \
gnu/gcj.lo gnu/gcj/convert.lo gnu/gcj/io.lo gnu/gcj/jvmti.lo \
gnu/gcj/runtime.lo gnu/gcj/util.lo gnu/java/awt.lo \
gnu/java/awt/color.lo gnu/java/awt/dnd.lo gnu/java/awt/font.lo \
gnu/classpath/jdwp/value.lo gnu/gcj.lo gnu/gcj/convert.lo \
gnu/gcj/io.lo gnu/gcj/jvmti.lo gnu/gcj/runtime.lo \
gnu/gcj/util.lo gnu/java/awt.lo gnu/java/awt/color.lo \
gnu/java/awt/dnd.lo gnu/java/awt/font.lo \
gnu/java/awt/font/autofit.lo gnu/java/awt/font/opentype.lo \
gnu/java/awt/font/opentype/truetype.lo gnu/java/awt/image.lo \
gnu/java/awt/java2d.lo gnu/java/awt/peer.lo \
@ -1218,7 +1219,9 @@ classpath/gnu/classpath/jdwp/exception/InvalidFrameException.java \
classpath/gnu/classpath/jdwp/exception/InvalidLocationException.java \
classpath/gnu/classpath/jdwp/exception/InvalidMethodException.java \
classpath/gnu/classpath/jdwp/exception/InvalidObjectException.java \
classpath/gnu/classpath/jdwp/exception/InvalidSlotException.java \
classpath/gnu/classpath/jdwp/exception/InvalidStringException.java \
classpath/gnu/classpath/jdwp/exception/InvalidTagException.java \
classpath/gnu/classpath/jdwp/exception/InvalidThreadException.java \
classpath/gnu/classpath/jdwp/exception/InvalidThreadGroupException.java \
classpath/gnu/classpath/jdwp/exception/JdwpException.java \
@ -1226,6 +1229,7 @@ classpath/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java \
classpath/gnu/classpath/jdwp/exception/JdwpInternalErrorException.java \
classpath/gnu/classpath/jdwp/exception/NativeMethodException.java \
classpath/gnu/classpath/jdwp/exception/NotImplementedException.java \
classpath/gnu/classpath/jdwp/exception/TypeMismatchException.java \
classpath/gnu/classpath/jdwp/exception/VmDeadException.java
gnu_classpath_jdwp_exception_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_exception_source_files)))
@ -1237,6 +1241,7 @@ classpath/gnu/classpath/jdwp/id/ClassObjectId.java \
classpath/gnu/classpath/jdwp/id/ClassReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/JdwpId.java \
classpath/gnu/classpath/jdwp/id/NullObjectId.java \
classpath/gnu/classpath/jdwp/id/ObjectId.java \
classpath/gnu/classpath/jdwp/id/ReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/StringId.java \
@ -1281,11 +1286,29 @@ classpath/gnu/classpath/jdwp/util/JdwpString.java \
classpath/gnu/classpath/jdwp/util/LineTable.java \
classpath/gnu/classpath/jdwp/util/Location.java \
classpath/gnu/classpath/jdwp/util/MethodResult.java \
classpath/gnu/classpath/jdwp/util/MonitorInfo.java \
classpath/gnu/classpath/jdwp/util/NullObject.java \
classpath/gnu/classpath/jdwp/util/Signature.java \
classpath/gnu/classpath/jdwp/util/Value.java \
classpath/gnu/classpath/jdwp/util/VariableTable.java
gnu_classpath_jdwp_util_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_util_source_files)))
gnu_classpath_jdwp_value_source_files = \
classpath/gnu/classpath/jdwp/value/BooleanValue.java \
classpath/gnu/classpath/jdwp/value/ByteValue.java \
classpath/gnu/classpath/jdwp/value/CharValue.java \
classpath/gnu/classpath/jdwp/value/DoubleValue.java \
classpath/gnu/classpath/jdwp/value/FloatValue.java \
classpath/gnu/classpath/jdwp/value/IntValue.java \
classpath/gnu/classpath/jdwp/value/LongValue.java \
classpath/gnu/classpath/jdwp/value/ObjectValue.java \
classpath/gnu/classpath/jdwp/value/ShortValue.java \
classpath/gnu/classpath/jdwp/value/StringValue.java \
classpath/gnu/classpath/jdwp/value/Value.java \
classpath/gnu/classpath/jdwp/value/ValueFactory.java \
classpath/gnu/classpath/jdwp/value/VoidValue.java
gnu_classpath_jdwp_value_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_value_source_files)))
gnu_gcj_source_files = \
gnu/gcj/Core.java \
gnu/gcj/RawData.java \
@ -7225,6 +7248,7 @@ all_packages_source_files = \
gnu/classpath/jdwp/processor.list \
gnu/classpath/jdwp/transport.list \
gnu/classpath/jdwp/util.list \
gnu/classpath/jdwp/value.list \
gnu/gcj.list \
gnu/gcj/convert.list \
gnu/gcj/io.list \
@ -7474,6 +7498,7 @@ ordinary_header_files = \
$(gnu_classpath_jdwp_processor_header_files) \
$(gnu_classpath_jdwp_transport_header_files) \
$(gnu_classpath_jdwp_util_header_files) \
$(gnu_classpath_jdwp_value_header_files) \
$(gnu_gcj_header_files) \
$(gnu_gcj_convert_header_files) \
$(gnu_gcj_io_header_files) \
@ -10083,6 +10108,12 @@ gnu/classpath/jdwp/util.list: $(gnu_classpath_jdwp_util_source_files)
-include gnu/classpath/jdwp/util.deps
gnu/classpath/jdwp/value.list: $(gnu_classpath_jdwp_value_source_files)
@$(mkinstalldirs) $(dir $@)
echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/value/*.class > gnu/classpath/jdwp/value.list
-include gnu/classpath/jdwp/value.deps
gnu/gcj.list: $(gnu_gcj_source_files)
@$(mkinstalldirs) $(dir $@)
echo $(srcdir)/classpath/lib/gnu/gcj/*.class > gnu/gcj.list

View file

@ -20,6 +20,10 @@ extern "Java"
{
class Location;
}
namespace value
{
class Value;
}
}
}
}
@ -31,8 +35,8 @@ class gnu::classpath::jdwp::VMFrame : public ::java::lang::Object
public:
VMFrame(::java::lang::Thread *, jlong, ::gnu::classpath::jdwp::util::Location *);
virtual ::gnu::classpath::jdwp::util::Location * getLocation();
virtual ::java::lang::Object * getValue(jint);
virtual void setValue(jint, ::java::lang::Object *);
virtual ::gnu::classpath::jdwp::value::Value * getValue(jint, jbyte);
virtual void setValue(jint, ::gnu::classpath::jdwp::value::Value *);
virtual ::java::lang::Thread * getThread();
virtual ::java::lang::Object * getObject();
virtual jlong getId();

View file

@ -40,6 +40,7 @@ exception statement from your version. */
package gnu.classpath.jdwp;
import gnu.classpath.jdwp.util.Location;
import gnu.classpath.jdwp.value.Value;
/**
* Reference implementation of VM hooks for JDWP Frame access.
@ -93,14 +94,14 @@ public class VMFrame
*
* @param slot the slot containing the variable
*/
public native Object getValue(int slot);
public native Value getValue(int slot, byte sig);
/**
* Assigns the given variable to the given value.
* @param slot The slot which contains the variable
* @param value The value to assign the variable to
*/
public native void setValue(int slot, Object value);
public native void setValue(int slot, Value value);
/**
* Get the thread this frame is in.

View file

@ -27,6 +27,7 @@ extern "Java"
namespace util
{
class MethodResult;
class MonitorInfo;
}
}
}
@ -44,8 +45,7 @@ public:
static void resumeThread(::java::lang::Thread *);
static void resumeAllThreads();
static jint getSuspendCount(::java::lang::Thread *);
static jint getAllLoadedClassesCount();
static ::java::util::Iterator * getAllLoadedClasses();
static ::java::util::Collection * getAllLoadedClasses();
static jint getClassStatus(::java::lang::Class *);
static JArray< ::gnu::classpath::jdwp::VMMethod * > * getAllClassMethods(::java::lang::Class *);
static ::gnu::classpath::jdwp::VMMethod * getClassMethod(::java::lang::Class *, jlong);
@ -59,6 +59,29 @@ public:
static void registerEvent(::gnu::classpath::jdwp::event::EventRequest *);
static void unregisterEvent(::gnu::classpath::jdwp::event::EventRequest *);
static void clearEvents(jbyte);
static void redefineClasses(JArray< ::java::lang::Class * > *, JArray< JArray< jbyte > * > *);
static void setDefaultStratum(::java::lang::String *);
static ::java::lang::String * getSourceDebugExtension(::java::lang::Class *);
static JArray< jbyte > * getBytecodes(::gnu::classpath::jdwp::VMMethod *);
static ::gnu::classpath::jdwp::util::MonitorInfo * getMonitorInfo(::java::lang::Object *);
static JArray< ::java::lang::Object * > * getOwnedMonitors(::java::lang::Thread *);
static ::java::lang::Object * getCurrentContendedMonitor(::java::lang::Thread *);
static void popFrames(::java::lang::Thread *, jlong);
static const jboolean canWatchFieldModification = 0;
static const jboolean canWatchFieldAccess = 0;
static const jboolean canGetBytecodes = 0;
static const jboolean canGetSyntheticAttribute = 0;
static const jboolean canGetOwnedMonitorInfo = 0;
static const jboolean canGetCurrentContendedMonitor = 0;
static const jboolean canGetMonitorInfo = 0;
static const jboolean canRedefineClasses = 0;
static const jboolean canAddMethod = 0;
static const jboolean canUnrestrictedlyRedefineClasses = 0;
static const jboolean canPopFrames = 0;
static const jboolean canUseInstanceFilters = 0;
static const jboolean canGetSourceDebugExtension = 0;
static const jboolean canRequestVMDeathEvent = 0;
static const jboolean canSetDefaultStratum = 0;
private:
static ::java::util::Hashtable * _jdwp_suspend_counts;
public: // actually package-private

View file

@ -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);
}

View file

@ -0,0 +1,36 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_exception_InvalidSlotException__
#define __gnu_classpath_jdwp_exception_InvalidSlotException__
#pragma interface
#include <gnu/classpath/jdwp/exception/JdwpException.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace exception
{
class InvalidSlotException;
}
}
}
}
}
class gnu::classpath::jdwp::exception::InvalidSlotException : public ::gnu::classpath::jdwp::exception::JdwpException
{
public:
InvalidSlotException(jint);
InvalidSlotException(::java::lang::String *);
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_exception_InvalidSlotException__

View file

@ -0,0 +1,35 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_exception_InvalidTagException__
#define __gnu_classpath_jdwp_exception_InvalidTagException__
#pragma interface
#include <gnu/classpath/jdwp/exception/JdwpException.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace exception
{
class InvalidTagException;
}
}
}
}
}
class gnu::classpath::jdwp::exception::InvalidTagException : public ::gnu::classpath::jdwp::exception::JdwpException
{
public:
InvalidTagException(jbyte);
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_exception_InvalidTagException__

View file

@ -0,0 +1,36 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_exception_TypeMismatchException__
#define __gnu_classpath_jdwp_exception_TypeMismatchException__
#pragma interface
#include <gnu/classpath/jdwp/exception/JdwpException.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace exception
{
class TypeMismatchException;
}
}
}
}
}
class gnu::classpath::jdwp::exception::TypeMismatchException : public ::gnu::classpath::jdwp::exception::JdwpException
{
public:
TypeMismatchException(jbyte);
TypeMismatchException(::java::lang::String *);
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_exception_TypeMismatchException__

View file

@ -0,0 +1,36 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_id_NullObjectId__
#define __gnu_classpath_jdwp_id_NullObjectId__
#pragma interface
#include <gnu/classpath/jdwp/id/ObjectId.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace id
{
class NullObjectId;
}
}
}
}
}
class gnu::classpath::jdwp::id::NullObjectId : public ::gnu::classpath::jdwp::id::ObjectId
{
public:
NullObjectId();
static ::java::lang::Class * typeClass;
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_id_NullObjectId__

View file

@ -12,17 +12,19 @@ details. */
#include <jvm.h>
#include <gnu/classpath/jdwp/VMFrame.h>
#include <gnu/classpath/jdwp/value/Value.h>
using namespace java::lang;
Object*
gnu::classpath::jdwp::VMFrame::getValue (MAYBE_UNUSED jint slot)
gnu::classpath::jdwp::value::Value *
gnu::classpath::jdwp::VMFrame::getValue (MAYBE_UNUSED jint slot,
MAYBE_UNUSED jbyte tag)
{
return 0;
}
void
gnu::classpath::jdwp::VMFrame::setValue (MAYBE_UNUSED jint slot,
MAYBE_UNUSED Object* value)
MAYBE_UNUSED gnu::classpath::jdwp::value::Value *value)
{
}

View file

@ -111,7 +111,13 @@ gnu::classpath::jdwp::VMVirtualMachine::initialize ()
_stepping_threads = new ::java::util::Hashtable ();
JavaVM *vm = _Jv_GetJavaVM ();
vm->GetEnv (reinterpret_cast<void **> (&_jdwp_jvmtiEnv), JVMTI_VERSION_1_0);
union
{
void *ptr;
jvmtiEnv *env;
} foo;
vm->GetEnv (&(foo.ptr), JVMTI_VERSION_1_0);
_jdwp_jvmtiEnv = foo.env;
// Wait for VM_INIT to do more initialization
jvmtiEventCallbacks callbacks;
@ -439,16 +445,11 @@ gnu::classpath::jdwp::VMVirtualMachine::clearEvents (MAYBE_UNUSED jbyte kind)
{
}
jint
gnu::classpath::jdwp::VMVirtualMachine::getAllLoadedClassesCount (void)
{
return 0;
}
java::util::Iterator *
java::util::Collection *
gnu::classpath::jdwp::VMVirtualMachine::getAllLoadedClasses (void)
{
return NULL;
using namespace ::java::util;
return (Collection *) new ArrayList ();
}
jint
@ -629,7 +630,7 @@ java::util::ArrayList *
gnu::classpath::jdwp::VMVirtualMachine::
getLoadRequests (MAYBE_UNUSED ClassLoader *cl)
{
return NULL;
return new ::java::util::ArrayList ();
}
MethodResult *
@ -649,6 +650,61 @@ getSourceFile (jclass clazz)
return _Jv_GetInterpClassSourceFile (clazz);
}
void
gnu::classpath::jdwp::VMVirtualMachine::
redefineClasses (MAYBE_UNUSED JArray<jclass> *types,
MAYBE_UNUSED JArray<jbyteArray> *bytecodes)
{
}
void
gnu::classpath::jdwp::VMVirtualMachine::
setDefaultStratum (MAYBE_UNUSED jstring stratum)
{
}
jstring
gnu::classpath::jdwp::VMVirtualMachine::
getSourceDebugExtension (MAYBE_UNUSED jclass klass)
{
return NULL;
}
jbyteArray
gnu::classpath::jdwp::VMVirtualMachine::
getBytecodes (MAYBE_UNUSED gnu::classpath::jdwp::VMMethod *method)
{
return NULL;
}
gnu::classpath::jdwp::util::MonitorInfo *
gnu::classpath::jdwp::VMVirtualMachine::
getMonitorInfo (MAYBE_UNUSED jobject obj)
{
return NULL;
}
jobjectArray
gnu::classpath::jdwp::VMVirtualMachine::
getOwnedMonitors (MAYBE_UNUSED ::java::lang::Thread *thread)
{
return NULL;
}
jobject
gnu::classpath::jdwp::VMVirtualMachine::
getCurrentContendedMonitor (MAYBE_UNUSED ::java::lang::Thread *thread)
{
return NULL;
}
void
gnu::classpath::jdwp::VMVirtualMachine::
popFrames (MAYBE_UNUSED ::java::lang::Thread *thread,
MAYBE_UNUSED jlong frameId)
{
}
// A simple caching function used while single-stepping
static jvmtiError
get_linetable (jvmtiEnv *env, jmethodID method, jint *count_ptr,

View file

@ -33,9 +33,12 @@ public:
virtual void setReturnedValue(::java::lang::Object *);
virtual ::java::lang::Exception * getThrownException();
virtual void setThrownException(::java::lang::Exception *);
virtual ::java::lang::Class * getResultType();
virtual void setResultType(::java::lang::Class *);
private:
::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) returnedValue;
::java::lang::Exception * thrownException;
::java::lang::Class * resType;
public:
static ::java::lang::Class class$;
};

View file

@ -0,0 +1,41 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_util_MonitorInfo__
#define __gnu_classpath_jdwp_util_MonitorInfo__
#pragma interface
#include <java/lang/Object.h>
#include <gcj/array.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace util
{
class MonitorInfo;
}
}
}
}
}
class gnu::classpath::jdwp::util::MonitorInfo : public ::java::lang::Object
{
public:
MonitorInfo();
virtual void write(::java::io::DataOutputStream *);
jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) entryCount;
::java::lang::Thread * owner;
JArray< ::java::lang::Thread * > * waiters;
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_util_MonitorInfo__

View file

@ -0,0 +1,35 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_util_NullObject__
#define __gnu_classpath_jdwp_util_NullObject__
#pragma interface
#include <java/lang/Object.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace util
{
class NullObject;
}
}
}
}
}
class gnu::classpath::jdwp::util::NullObject : public ::java::lang::Object
{
public:
NullObject();
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_util_NullObject__

View file

@ -0,0 +1,42 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_BooleanValue__
#define __gnu_classpath_jdwp_value_BooleanValue__
#pragma interface
#include <gnu/classpath/jdwp/value/Value.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class BooleanValue;
}
}
}
}
}
class gnu::classpath::jdwp::value::BooleanValue : public ::gnu::classpath::jdwp::value::Value
{
public:
BooleanValue(jboolean);
jboolean getValue();
public: // actually protected
::java::lang::Object * getObject();
void write(::java::io::DataOutputStream *);
public: // actually package-private
jboolean __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_BooleanValue__

View file

@ -0,0 +1,42 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_ByteValue__
#define __gnu_classpath_jdwp_value_ByteValue__
#pragma interface
#include <gnu/classpath/jdwp/value/Value.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class ByteValue;
}
}
}
}
}
class gnu::classpath::jdwp::value::ByteValue : public ::gnu::classpath::jdwp::value::Value
{
public:
ByteValue(jbyte);
jbyte getValue();
public: // actually protected
::java::lang::Object * getObject();
void write(::java::io::DataOutputStream *);
public: // actually package-private
jbyte __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_ByteValue__

View file

@ -0,0 +1,42 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_CharValue__
#define __gnu_classpath_jdwp_value_CharValue__
#pragma interface
#include <gnu/classpath/jdwp/value/Value.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class CharValue;
}
}
}
}
}
class gnu::classpath::jdwp::value::CharValue : public ::gnu::classpath::jdwp::value::Value
{
public:
CharValue(jchar);
jchar getValue();
public: // actually protected
::java::lang::Object * getObject();
void write(::java::io::DataOutputStream *);
public: // actually package-private
jchar __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_CharValue__

View file

@ -0,0 +1,42 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_DoubleValue__
#define __gnu_classpath_jdwp_value_DoubleValue__
#pragma interface
#include <gnu/classpath/jdwp/value/Value.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class DoubleValue;
}
}
}
}
}
class gnu::classpath::jdwp::value::DoubleValue : public ::gnu::classpath::jdwp::value::Value
{
public:
DoubleValue(jdouble);
jdouble getValue();
public: // actually protected
::java::lang::Object * getObject();
void write(::java::io::DataOutputStream *);
public: // actually package-private
jdouble __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_DoubleValue__

View file

@ -0,0 +1,42 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_FloatValue__
#define __gnu_classpath_jdwp_value_FloatValue__
#pragma interface
#include <gnu/classpath/jdwp/value/Value.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class FloatValue;
}
}
}
}
}
class gnu::classpath::jdwp::value::FloatValue : public ::gnu::classpath::jdwp::value::Value
{
public:
FloatValue(jfloat);
jfloat getValue();
public: // actually protected
::java::lang::Object * getObject();
void write(::java::io::DataOutputStream *);
public: // actually package-private
jfloat __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_FloatValue__

View file

@ -0,0 +1,42 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_IntValue__
#define __gnu_classpath_jdwp_value_IntValue__
#pragma interface
#include <gnu/classpath/jdwp/value/Value.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class IntValue;
}
}
}
}
}
class gnu::classpath::jdwp::value::IntValue : public ::gnu::classpath::jdwp::value::Value
{
public:
IntValue(jint);
jint getValue();
public: // actually protected
::java::lang::Object * getObject();
void write(::java::io::DataOutputStream *);
public: // actually package-private
jint __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_IntValue__

View file

@ -0,0 +1,42 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_LongValue__
#define __gnu_classpath_jdwp_value_LongValue__
#pragma interface
#include <gnu/classpath/jdwp/value/Value.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class LongValue;
}
}
}
}
}
class gnu::classpath::jdwp::value::LongValue : public ::gnu::classpath::jdwp::value::Value
{
public:
LongValue(jlong);
jlong getValue();
public: // actually protected
::java::lang::Object * getObject();
void write(::java::io::DataOutputStream *);
public: // actually package-private
jlong __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_LongValue__

View file

@ -0,0 +1,41 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_ObjectValue__
#define __gnu_classpath_jdwp_value_ObjectValue__
#pragma interface
#include <gnu/classpath/jdwp/value/Value.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class ObjectValue;
}
}
}
}
}
class gnu::classpath::jdwp::value::ObjectValue : public ::gnu::classpath::jdwp::value::Value
{
public:
ObjectValue(::java::lang::Object *);
public: // actually protected
::java::lang::Object * getObject();
void write(::java::io::DataOutputStream *);
public: // actually package-private
::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_ObjectValue__

View file

@ -0,0 +1,42 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_ShortValue__
#define __gnu_classpath_jdwp_value_ShortValue__
#pragma interface
#include <gnu/classpath/jdwp/value/Value.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class ShortValue;
}
}
}
}
}
class gnu::classpath::jdwp::value::ShortValue : public ::gnu::classpath::jdwp::value::Value
{
public:
ShortValue(jshort);
jshort getValue();
public: // actually protected
::java::lang::Object * getObject();
void write(::java::io::DataOutputStream *);
public: // actually package-private
jshort __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_ShortValue__

View file

@ -0,0 +1,42 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_StringValue__
#define __gnu_classpath_jdwp_value_StringValue__
#pragma interface
#include <gnu/classpath/jdwp/value/Value.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class StringValue;
}
}
}
}
}
class gnu::classpath::jdwp::value::StringValue : public ::gnu::classpath::jdwp::value::Value
{
public:
StringValue(::java::lang::String *);
::java::lang::String * getValue();
public: // actually protected
::java::lang::Object * getObject();
void write(::java::io::DataOutputStream *);
public: // actually package-private
::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_StringValue__

View file

@ -0,0 +1,55 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_Value__
#define __gnu_classpath_jdwp_value_Value__
#pragma interface
#include <java/lang/Object.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class Value;
}
}
}
}
namespace java
{
namespace nio
{
class ByteBuffer;
}
}
}
class gnu::classpath::jdwp::value::Value : public ::java::lang::Object
{
public: // actually protected
Value(jbyte);
public:
virtual jbyte getTag();
virtual void writeUntagged(::java::io::DataOutputStream *);
virtual void writeTagged(::java::io::DataOutputStream *);
public: // actually protected
virtual void write(::java::io::DataOutputStream *) = 0;
virtual ::java::lang::Object * getObject() = 0;
public:
static ::java::lang::Object * getUntaggedObject(::java::nio::ByteBuffer *, ::java::lang::Class *);
static ::java::lang::Object * getTaggedObject(::java::nio::ByteBuffer *);
private:
jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) _tag;
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_Value__

View file

@ -0,0 +1,50 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_ValueFactory__
#define __gnu_classpath_jdwp_value_ValueFactory__
#pragma interface
#include <java/lang/Object.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class Value;
class ValueFactory;
}
}
}
}
namespace java
{
namespace nio
{
class ByteBuffer;
}
}
}
class gnu::classpath::jdwp::value::ValueFactory : public ::java::lang::Object
{
public:
ValueFactory();
static ::gnu::classpath::jdwp::value::Value * createFromTagged(::java::nio::ByteBuffer *);
static ::gnu::classpath::jdwp::value::Value * createFromUntagged(::java::nio::ByteBuffer *, ::java::lang::Class *);
private:
static ::gnu::classpath::jdwp::value::Value * create(::java::nio::ByteBuffer *, jbyte);
static jbyte getTagForClass(::java::lang::Class *);
public:
static ::gnu::classpath::jdwp::value::Value * createFromObject(::java::lang::Object *, ::java::lang::Class *);
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_ValueFactory__

View file

@ -0,0 +1,39 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __gnu_classpath_jdwp_value_VoidValue__
#define __gnu_classpath_jdwp_value_VoidValue__
#pragma interface
#include <gnu/classpath/jdwp/value/Value.h>
extern "Java"
{
namespace gnu
{
namespace classpath
{
namespace jdwp
{
namespace value
{
class VoidValue;
}
}
}
}
}
class gnu::classpath::jdwp::value::VoidValue : public ::gnu::classpath::jdwp::value::Value
{
public:
VoidValue();
public: // actually protected
virtual ::java::lang::Object * getObject();
virtual void write(::java::io::DataOutputStream *);
public:
static ::java::lang::Class class$;
};
#endif // __gnu_classpath_jdwp_value_VoidValue__

View file

@ -336,7 +336,9 @@ classpath/gnu/classpath/jdwp/exception/InvalidFrameException.java \
classpath/gnu/classpath/jdwp/exception/InvalidLocationException.java \
classpath/gnu/classpath/jdwp/exception/InvalidMethodException.java \
classpath/gnu/classpath/jdwp/exception/InvalidObjectException.java \
classpath/gnu/classpath/jdwp/exception/InvalidSlotException.java \
classpath/gnu/classpath/jdwp/exception/InvalidStringException.java \
classpath/gnu/classpath/jdwp/exception/InvalidTagException.java \
classpath/gnu/classpath/jdwp/exception/InvalidThreadException.java \
classpath/gnu/classpath/jdwp/exception/InvalidThreadGroupException.java \
classpath/gnu/classpath/jdwp/exception/JdwpException.java \
@ -344,6 +346,7 @@ classpath/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java \
classpath/gnu/classpath/jdwp/exception/JdwpInternalErrorException.java \
classpath/gnu/classpath/jdwp/exception/NativeMethodException.java \
classpath/gnu/classpath/jdwp/exception/NotImplementedException.java \
classpath/gnu/classpath/jdwp/exception/TypeMismatchException.java \
classpath/gnu/classpath/jdwp/exception/VmDeadException.java
gnu_classpath_jdwp_exception_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_exception_source_files)))
@ -363,6 +366,7 @@ classpath/gnu/classpath/jdwp/id/ClassObjectId.java \
classpath/gnu/classpath/jdwp/id/ClassReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/JdwpId.java \
classpath/gnu/classpath/jdwp/id/NullObjectId.java \
classpath/gnu/classpath/jdwp/id/ObjectId.java \
classpath/gnu/classpath/jdwp/id/ReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/StringId.java \
@ -431,6 +435,8 @@ classpath/gnu/classpath/jdwp/util/JdwpString.java \
classpath/gnu/classpath/jdwp/util/LineTable.java \
classpath/gnu/classpath/jdwp/util/Location.java \
classpath/gnu/classpath/jdwp/util/MethodResult.java \
classpath/gnu/classpath/jdwp/util/MonitorInfo.java \
classpath/gnu/classpath/jdwp/util/NullObject.java \
classpath/gnu/classpath/jdwp/util/Signature.java \
classpath/gnu/classpath/jdwp/util/Value.java \
classpath/gnu/classpath/jdwp/util/VariableTable.java
@ -444,6 +450,30 @@ gnu/classpath/jdwp/util.list: $(gnu_classpath_jdwp_util_source_files)
-include gnu/classpath/jdwp/util.deps
gnu_classpath_jdwp_value_source_files = \
classpath/gnu/classpath/jdwp/value/BooleanValue.java \
classpath/gnu/classpath/jdwp/value/ByteValue.java \
classpath/gnu/classpath/jdwp/value/CharValue.java \
classpath/gnu/classpath/jdwp/value/DoubleValue.java \
classpath/gnu/classpath/jdwp/value/FloatValue.java \
classpath/gnu/classpath/jdwp/value/IntValue.java \
classpath/gnu/classpath/jdwp/value/LongValue.java \
classpath/gnu/classpath/jdwp/value/ObjectValue.java \
classpath/gnu/classpath/jdwp/value/ShortValue.java \
classpath/gnu/classpath/jdwp/value/StringValue.java \
classpath/gnu/classpath/jdwp/value/Value.java \
classpath/gnu/classpath/jdwp/value/ValueFactory.java \
classpath/gnu/classpath/jdwp/value/VoidValue.java
gnu_classpath_jdwp_value_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_value_source_files)))
gnu/classpath/jdwp/value.list: $(gnu_classpath_jdwp_value_source_files)
@$(mkinstalldirs) $(dir $@)
echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/value/*.class > gnu/classpath/jdwp/value.list
-include gnu/classpath/jdwp/value.deps
gnu_gcj_source_files = \
gnu/gcj/Core.java \
gnu/gcj/RawData.java \
@ -8437,6 +8467,7 @@ all_packages_source_files = \
gnu/classpath/jdwp/processor.list \
gnu/classpath/jdwp/transport.list \
gnu/classpath/jdwp/util.list \
gnu/classpath/jdwp/value.list \
gnu/gcj.list \
gnu/gcj/convert.list \
gnu/gcj/io.list \
@ -8686,6 +8717,7 @@ ordinary_header_files = \
$(gnu_classpath_jdwp_processor_header_files) \
$(gnu_classpath_jdwp_transport_header_files) \
$(gnu_classpath_jdwp_util_header_files) \
$(gnu_classpath_jdwp_value_header_files) \
$(gnu_gcj_header_files) \
$(gnu_gcj_convert_header_files) \
$(gnu_gcj_io_header_files) \