[kaffe] CVS kaffe (robilad): Merged in in-progress JDWP implementation from GNU Classpath

Kaffe CVS cvs-commits at kaffe.org
Sun Sep 11 15:33:48 PDT 2005


PatchSet 6892 
Date: 2005/09/11 22:28:08
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
Merged in in-progress JDWP implementation from GNU Classpath

Members: 
	ChangeLog:1.4413->1.4414 
	libraries/javalib/Makefile.am:1.390->1.391 
	libraries/javalib/Makefile.in:1.481->1.482 
	libraries/javalib/all.files:1.160->1.161 
	libraries/javalib/gnu/classpath/jdwp/Jdwp.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/JdwpConstants.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/VMFrame.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/VMIdManager.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/VMVirtualMachine.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/ClassPrepareEvent.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/Event.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/EventManager.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/EventRequest.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/ThreadEndEvent.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/ThreadStartEvent.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/VmDeathEvent.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/VmInitEvent.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/ClassMatchFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/ConditionalFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/CountFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/IEventFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/StepFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/InvalidClassException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/InvalidClassLoaderException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/InvalidCountException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/InvalidEventTypeException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/InvalidFieldException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/InvalidLocationException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/InvalidMethodException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/InvalidObjectException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/InvalidStringException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/InvalidThreadException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/InvalidThreadGroupException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/JdwpException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/JdwpInternalErrorException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/NotImplementedException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/exception/VmDeadException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/ArrayId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/ArrayReferenceTypeId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/ClassLoaderId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/ClassObjectId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/ClassReferenceTypeId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/JdwpId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/ObjectId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/ReferenceTypeId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/StringId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/ThreadGroupId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/id/ThreadId.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/ClassTypeCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/CommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/EventRequestCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/FieldCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/MethodCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/PacketProcessor.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/StackFrameCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/StringReferenceCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/transport/ITransport.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/transport/JdwpCommandPacket.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/transport/JdwpConnection.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/transport/JdwpPacket.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/transport/JdwpReplyPacket.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/transport/SocketTransport.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/transport/TransportException.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/transport/TransportFactory.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/util/JdwpString.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/util/LineTable.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/util/Location.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/util/MethodResult.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/util/Signature.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/util/Value.java:INITIAL->1.1 
	libraries/javalib/gnu/classpath/jdwp/util/VariableTable.java:INITIAL->1.1 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4413 kaffe/ChangeLog:1.4414
--- kaffe/ChangeLog:1.4413	Sun Sep 11 21:51:48 2005
+++ kaffe/ChangeLog	Sun Sep 11 22:28:08 2005
@@ -1,5 +1,103 @@
 2005-09-11  Dalibor Topic  <robilad at kaffe.org>
 
+	Merged in in-progress JDWP implementation from GNU Classpath.
+	It needs a volunteer to implement the missing native methods.
+
+	* libraries/javalib/Makefile.am,
+	libraries/javalib/Makefile.in,
+	libraries/javalib/all.files:
+	Regenerated.
+
+	* libraries/javalib/gnu/classpath/jdwp/Jdwp.java,
+	libraries/javalib/gnu/classpath/jdwp/JdwpConstants.java,
+	libraries/javalib/gnu/classpath/jdwp/VMFrame.java,
+	libraries/javalib/gnu/classpath/jdwp/VMIdManager.java,
+	libraries/javalib/gnu/classpath/jdwp/VMVirtualMachine.java,
+	libraries/javalib/gnu/classpath/jdwp/event/ClassPrepareEvent.java,
+	libraries/javalib/gnu/classpath/jdwp/event/Event.java,
+	libraries/javalib/gnu/classpath/jdwp/event/EventManager.java,
+	libraries/javalib/gnu/classpath/jdwp/event/EventRequest.java,
+	libraries/javalib/gnu/classpath/jdwp/event/ThreadEndEvent.java,
+	libraries/javalib/gnu/classpath/jdwp/event/ThreadStartEvent.java,
+	libraries/javalib/gnu/classpath/jdwp/event/VmDeathEvent.java,
+	libraries/javalib/gnu/classpath/jdwp/event/VmInitEvent.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/ClassMatchFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/ConditionalFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/CountFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/IEventFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/StepFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/InvalidClassException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/InvalidClassLoaderException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/InvalidCountException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/InvalidEventTypeException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/InvalidFieldException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/InvalidLocationException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/InvalidMethodException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/InvalidObjectException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/InvalidStringException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/InvalidThreadException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/InvalidThreadGroupException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/JdwpException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/JdwpInternalErrorException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/NotImplementedException.java,
+	libraries/javalib/gnu/classpath/jdwp/exception/VmDeadException.java,
+	libraries/javalib/gnu/classpath/jdwp/id/ArrayId.java,
+	libraries/javalib/gnu/classpath/jdwp/id/ArrayReferenceTypeId.java,
+	libraries/javalib/gnu/classpath/jdwp/id/ClassLoaderId.java,
+	libraries/javalib/gnu/classpath/jdwp/id/ClassObjectId.java,
+	libraries/javalib/gnu/classpath/jdwp/id/ClassReferenceTypeId.java,
+	libraries/javalib/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java,
+	libraries/javalib/gnu/classpath/jdwp/id/JdwpId.java,
+	libraries/javalib/gnu/classpath/jdwp/id/ObjectId.java,
+	libraries/javalib/gnu/classpath/jdwp/id/ReferenceTypeId.java,
+	libraries/javalib/gnu/classpath/jdwp/id/StringId.java,
+	libraries/javalib/gnu/classpath/jdwp/id/ThreadGroupId.java,
+	libraries/javalib/gnu/classpath/jdwp/id/ThreadId.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/ClassTypeCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/CommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/EventRequestCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/FieldCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/MethodCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/PacketProcessor.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/StackFrameCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/StringReferenceCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java,
+	libraries/javalib/gnu/classpath/jdwp/transport/ITransport.java,
+	libraries/javalib/gnu/classpath/jdwp/transport/JdwpCommandPacket.java,
+	libraries/javalib/gnu/classpath/jdwp/transport/JdwpConnection.java,
+	libraries/javalib/gnu/classpath/jdwp/transport/JdwpPacket.java,
+	libraries/javalib/gnu/classpath/jdwp/transport/JdwpReplyPacket.java,
+	libraries/javalib/gnu/classpath/jdwp/transport/SocketTransport.java,
+	libraries/javalib/gnu/classpath/jdwp/transport/TransportException.java,
+	libraries/javalib/gnu/classpath/jdwp/transport/TransportFactory.java,
+	libraries/javalib/gnu/classpath/jdwp/util/JdwpString.java,
+	libraries/javalib/gnu/classpath/jdwp/util/LineTable.java,
+	libraries/javalib/gnu/classpath/jdwp/util/Location.java,
+	libraries/javalib/gnu/classpath/jdwp/util/MethodResult.java,
+	libraries/javalib/gnu/classpath/jdwp/util/Signature.java,
+	libraries/javalib/gnu/classpath/jdwp/util/Value.java,
+	libraries/javalib/gnu/classpath/jdwp/util/VariableTable.java:
+	New files. Taken from GNU Classpath.
+
+2005-09-11  Dalibor Topic  <robilad at kaffe.org>
+
 	Reynced with GNU inetlib.
 
 	2005-09-04  Chris Burdess  <dog at gnu.org>
Index: kaffe/libraries/javalib/Makefile.am
diff -u kaffe/libraries/javalib/Makefile.am:1.390 kaffe/libraries/javalib/Makefile.am:1.391
--- kaffe/libraries/javalib/Makefile.am:1.390	Sun Sep 11 21:51:51 2005
+++ kaffe/libraries/javalib/Makefile.am	Sun Sep 11 22:28:09 2005
@@ -66,6 +66,14 @@
 	$(gnu_bytecode_SRCS) \
 	$(gnu_classpath_SRCS) \
 	$(gnu_classpath_debug_SRCS) \
+	$(gnu_classpath_jdwp_SRCS) \
+	$(gnu_classpath_jdwp_event_SRCS) \
+	$(gnu_classpath_jdwp_event_filters_SRCS) \
+	$(gnu_classpath_jdwp_exception_SRCS) \
+	$(gnu_classpath_jdwp_id_SRCS) \
+	$(gnu_classpath_jdwp_processor_SRCS) \
+	$(gnu_classpath_jdwp_transport_SRCS) \
+	$(gnu_classpath_jdwp_util_SRCS) \
 	$(gnu_classpath_tools_SRCS) \
 	$(gnu_classpath_tools_javap_SRCS) \
 	$(gnu_classpath_tools_native2ascii_SRCS) \
@@ -610,6 +618,100 @@
 	gnu/classpath/debug/Component.java \
 	gnu/classpath/debug/PreciseFilter.java \
 	gnu/classpath/debug/SystemLogger.java
+gnu_classpath_jdwp_SRCS = \
+	gnu/classpath/jdwp/Jdwp.java \
+	gnu/classpath/jdwp/JdwpConstants.java \
+	gnu/classpath/jdwp/VMFrame.java \
+	gnu/classpath/jdwp/VMIdManager.java \
+	gnu/classpath/jdwp/VMVirtualMachine.java
+gnu_classpath_jdwp_event_SRCS = \
+	gnu/classpath/jdwp/event/ClassPrepareEvent.java \
+	gnu/classpath/jdwp/event/Event.java \
+	gnu/classpath/jdwp/event/EventManager.java \
+	gnu/classpath/jdwp/event/EventRequest.java \
+	gnu/classpath/jdwp/event/ThreadEndEvent.java \
+	gnu/classpath/jdwp/event/ThreadStartEvent.java \
+	gnu/classpath/jdwp/event/VmDeathEvent.java \
+	gnu/classpath/jdwp/event/VmInitEvent.java
+gnu_classpath_jdwp_event_filters_SRCS = \
+	gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java \
+	gnu/classpath/jdwp/event/filters/ClassMatchFilter.java \
+	gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java \
+	gnu/classpath/jdwp/event/filters/ConditionalFilter.java \
+	gnu/classpath/jdwp/event/filters/CountFilter.java \
+	gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java \
+	gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java \
+	gnu/classpath/jdwp/event/filters/IEventFilter.java \
+	gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java \
+	gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java \
+	gnu/classpath/jdwp/event/filters/StepFilter.java \
+	gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java
+gnu_classpath_jdwp_exception_SRCS = \
+	gnu/classpath/jdwp/exception/InvalidClassException.java \
+	gnu/classpath/jdwp/exception/InvalidClassLoaderException.java \
+	gnu/classpath/jdwp/exception/InvalidCountException.java \
+	gnu/classpath/jdwp/exception/InvalidEventTypeException.java \
+	gnu/classpath/jdwp/exception/InvalidFieldException.java \
+	gnu/classpath/jdwp/exception/InvalidLocationException.java \
+	gnu/classpath/jdwp/exception/InvalidMethodException.java \
+	gnu/classpath/jdwp/exception/InvalidObjectException.java \
+	gnu/classpath/jdwp/exception/InvalidStringException.java \
+	gnu/classpath/jdwp/exception/InvalidThreadException.java \
+	gnu/classpath/jdwp/exception/InvalidThreadGroupException.java \
+	gnu/classpath/jdwp/exception/JdwpException.java \
+	gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java \
+	gnu/classpath/jdwp/exception/JdwpInternalErrorException.java \
+	gnu/classpath/jdwp/exception/NotImplementedException.java \
+	gnu/classpath/jdwp/exception/VmDeadException.java
+gnu_classpath_jdwp_id_SRCS = \
+	gnu/classpath/jdwp/id/ArrayId.java \
+	gnu/classpath/jdwp/id/ArrayReferenceTypeId.java \
+	gnu/classpath/jdwp/id/ClassLoaderId.java \
+	gnu/classpath/jdwp/id/ClassObjectId.java \
+	gnu/classpath/jdwp/id/ClassReferenceTypeId.java \
+	gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java \
+	gnu/classpath/jdwp/id/JdwpId.java \
+	gnu/classpath/jdwp/id/ObjectId.java \
+	gnu/classpath/jdwp/id/ReferenceTypeId.java \
+	gnu/classpath/jdwp/id/StringId.java \
+	gnu/classpath/jdwp/id/ThreadGroupId.java \
+	gnu/classpath/jdwp/id/ThreadId.java
+gnu_classpath_jdwp_processor_SRCS = \
+	gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java \
+	gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/ClassTypeCommandSet.java \
+	gnu/classpath/jdwp/processor/CommandSet.java \
+	gnu/classpath/jdwp/processor/EventRequestCommandSet.java \
+	gnu/classpath/jdwp/processor/FieldCommandSet.java \
+	gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java \
+	gnu/classpath/jdwp/processor/MethodCommandSet.java \
+	gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/PacketProcessor.java \
+	gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java \
+	gnu/classpath/jdwp/processor/StackFrameCommandSet.java \
+	gnu/classpath/jdwp/processor/StringReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java
+gnu_classpath_jdwp_transport_SRCS = \
+	gnu/classpath/jdwp/transport/ITransport.java \
+	gnu/classpath/jdwp/transport/JdwpCommandPacket.java \
+	gnu/classpath/jdwp/transport/JdwpConnection.java \
+	gnu/classpath/jdwp/transport/JdwpPacket.java \
+	gnu/classpath/jdwp/transport/JdwpReplyPacket.java \
+	gnu/classpath/jdwp/transport/SocketTransport.java \
+	gnu/classpath/jdwp/transport/TransportException.java \
+	gnu/classpath/jdwp/transport/TransportFactory.java
+gnu_classpath_jdwp_util_SRCS = \
+	gnu/classpath/jdwp/util/JdwpString.java \
+	gnu/classpath/jdwp/util/LineTable.java \
+	gnu/classpath/jdwp/util/Location.java \
+	gnu/classpath/jdwp/util/MethodResult.java \
+	gnu/classpath/jdwp/util/Signature.java \
+	gnu/classpath/jdwp/util/Value.java \
+	gnu/classpath/jdwp/util/VariableTable.java
 gnu_classpath_tools_SRCS = \
 	gnu/classpath/tools/Util.java
 gnu_classpath_tools_javap_SRCS = \
Index: kaffe/libraries/javalib/Makefile.in
diff -u kaffe/libraries/javalib/Makefile.in:1.481 kaffe/libraries/javalib/Makefile.in:1.482
--- kaffe/libraries/javalib/Makefile.in:1.481	Sun Sep 11 21:51:54 2005
+++ kaffe/libraries/javalib/Makefile.in	Sun Sep 11 22:28:10 2005
@@ -427,6 +427,14 @@
 	$(gnu_bytecode_SRCS) \
 	$(gnu_classpath_SRCS) \
 	$(gnu_classpath_debug_SRCS) \
+	$(gnu_classpath_jdwp_SRCS) \
+	$(gnu_classpath_jdwp_event_SRCS) \
+	$(gnu_classpath_jdwp_event_filters_SRCS) \
+	$(gnu_classpath_jdwp_exception_SRCS) \
+	$(gnu_classpath_jdwp_id_SRCS) \
+	$(gnu_classpath_jdwp_processor_SRCS) \
+	$(gnu_classpath_jdwp_transport_SRCS) \
+	$(gnu_classpath_jdwp_util_SRCS) \
 	$(gnu_classpath_tools_SRCS) \
 	$(gnu_classpath_tools_javap_SRCS) \
 	$(gnu_classpath_tools_native2ascii_SRCS) \
@@ -984,6 +992,108 @@
 	gnu/classpath/debug/Component.java \
 	gnu/classpath/debug/PreciseFilter.java \
 	gnu/classpath/debug/SystemLogger.java
+
+gnu_classpath_jdwp_SRCS = \
+	gnu/classpath/jdwp/Jdwp.java \
+	gnu/classpath/jdwp/JdwpConstants.java \
+	gnu/classpath/jdwp/VMFrame.java \
+	gnu/classpath/jdwp/VMIdManager.java \
+	gnu/classpath/jdwp/VMVirtualMachine.java
+
+gnu_classpath_jdwp_event_SRCS = \
+	gnu/classpath/jdwp/event/ClassPrepareEvent.java \
+	gnu/classpath/jdwp/event/Event.java \
+	gnu/classpath/jdwp/event/EventManager.java \
+	gnu/classpath/jdwp/event/EventRequest.java \
+	gnu/classpath/jdwp/event/ThreadEndEvent.java \
+	gnu/classpath/jdwp/event/ThreadStartEvent.java \
+	gnu/classpath/jdwp/event/VmDeathEvent.java \
+	gnu/classpath/jdwp/event/VmInitEvent.java
+
+gnu_classpath_jdwp_event_filters_SRCS = \
+	gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java \
+	gnu/classpath/jdwp/event/filters/ClassMatchFilter.java \
+	gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java \
+	gnu/classpath/jdwp/event/filters/ConditionalFilter.java \
+	gnu/classpath/jdwp/event/filters/CountFilter.java \
+	gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java \
+	gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java \
+	gnu/classpath/jdwp/event/filters/IEventFilter.java \
+	gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java \
+	gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java \
+	gnu/classpath/jdwp/event/filters/StepFilter.java \
+	gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java
+
+gnu_classpath_jdwp_exception_SRCS = \
+	gnu/classpath/jdwp/exception/InvalidClassException.java \
+	gnu/classpath/jdwp/exception/InvalidClassLoaderException.java \
+	gnu/classpath/jdwp/exception/InvalidCountException.java \
+	gnu/classpath/jdwp/exception/InvalidEventTypeException.java \
+	gnu/classpath/jdwp/exception/InvalidFieldException.java \
+	gnu/classpath/jdwp/exception/InvalidLocationException.java \
+	gnu/classpath/jdwp/exception/InvalidMethodException.java \
+	gnu/classpath/jdwp/exception/InvalidObjectException.java \
+	gnu/classpath/jdwp/exception/InvalidStringException.java \
+	gnu/classpath/jdwp/exception/InvalidThreadException.java \
+	gnu/classpath/jdwp/exception/InvalidThreadGroupException.java \
+	gnu/classpath/jdwp/exception/JdwpException.java \
+	gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java \
+	gnu/classpath/jdwp/exception/JdwpInternalErrorException.java \
+	gnu/classpath/jdwp/exception/NotImplementedException.java \
+	gnu/classpath/jdwp/exception/VmDeadException.java
+
+gnu_classpath_jdwp_id_SRCS = \
+	gnu/classpath/jdwp/id/ArrayId.java \
+	gnu/classpath/jdwp/id/ArrayReferenceTypeId.java \
+	gnu/classpath/jdwp/id/ClassLoaderId.java \
+	gnu/classpath/jdwp/id/ClassObjectId.java \
+	gnu/classpath/jdwp/id/ClassReferenceTypeId.java \
+	gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java \
+	gnu/classpath/jdwp/id/JdwpId.java \
+	gnu/classpath/jdwp/id/ObjectId.java \
+	gnu/classpath/jdwp/id/ReferenceTypeId.java \
+	gnu/classpath/jdwp/id/StringId.java \
+	gnu/classpath/jdwp/id/ThreadGroupId.java \
+	gnu/classpath/jdwp/id/ThreadId.java
+
+gnu_classpath_jdwp_processor_SRCS = \
+	gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java \
+	gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/ClassTypeCommandSet.java \
+	gnu/classpath/jdwp/processor/CommandSet.java \
+	gnu/classpath/jdwp/processor/EventRequestCommandSet.java \
+	gnu/classpath/jdwp/processor/FieldCommandSet.java \
+	gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java \
+	gnu/classpath/jdwp/processor/MethodCommandSet.java \
+	gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/PacketProcessor.java \
+	gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java \
+	gnu/classpath/jdwp/processor/StackFrameCommandSet.java \
+	gnu/classpath/jdwp/processor/StringReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java \
+	gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java
+
+gnu_classpath_jdwp_transport_SRCS = \
+	gnu/classpath/jdwp/transport/ITransport.java \
+	gnu/classpath/jdwp/transport/JdwpCommandPacket.java \
+	gnu/classpath/jdwp/transport/JdwpConnection.java \
+	gnu/classpath/jdwp/transport/JdwpPacket.java \
+	gnu/classpath/jdwp/transport/JdwpReplyPacket.java \
+	gnu/classpath/jdwp/transport/SocketTransport.java \
+	gnu/classpath/jdwp/transport/TransportException.java \
+	gnu/classpath/jdwp/transport/TransportFactory.java
+
+gnu_classpath_jdwp_util_SRCS = \
+	gnu/classpath/jdwp/util/JdwpString.java \
+	gnu/classpath/jdwp/util/LineTable.java \
+	gnu/classpath/jdwp/util/Location.java \
+	gnu/classpath/jdwp/util/MethodResult.java \
+	gnu/classpath/jdwp/util/Signature.java \
+	gnu/classpath/jdwp/util/Value.java \
+	gnu/classpath/jdwp/util/VariableTable.java
 
 gnu_classpath_tools_SRCS = \
 	gnu/classpath/tools/Util.java
Index: kaffe/libraries/javalib/all.files
diff -u kaffe/libraries/javalib/all.files:1.160 kaffe/libraries/javalib/all.files:1.161
--- kaffe/libraries/javalib/all.files:1.160	Sun Sep 11 21:51:55 2005
+++ kaffe/libraries/javalib/all.files	Sun Sep 11 22:28:11 2005
@@ -215,6 +215,92 @@
 gnu/classpath/debug/Component.java
 gnu/classpath/debug/PreciseFilter.java
 gnu/classpath/debug/SystemLogger.java
+gnu/classpath/jdwp/Jdwp.java
+gnu/classpath/jdwp/JdwpConstants.java
+gnu/classpath/jdwp/VMFrame.java
+gnu/classpath/jdwp/VMIdManager.java
+gnu/classpath/jdwp/VMVirtualMachine.java
+gnu/classpath/jdwp/event/ClassPrepareEvent.java
+gnu/classpath/jdwp/event/Event.java
+gnu/classpath/jdwp/event/EventManager.java
+gnu/classpath/jdwp/event/EventRequest.java
+gnu/classpath/jdwp/event/ThreadEndEvent.java
+gnu/classpath/jdwp/event/ThreadStartEvent.java
+gnu/classpath/jdwp/event/VmDeathEvent.java
+gnu/classpath/jdwp/event/VmInitEvent.java
+gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java
+gnu/classpath/jdwp/event/filters/ClassMatchFilter.java
+gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java
+gnu/classpath/jdwp/event/filters/ConditionalFilter.java
+gnu/classpath/jdwp/event/filters/CountFilter.java
+gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java
+gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java
+gnu/classpath/jdwp/event/filters/IEventFilter.java
+gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java
+gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java
+gnu/classpath/jdwp/event/filters/StepFilter.java
+gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java
+gnu/classpath/jdwp/exception/InvalidClassException.java
+gnu/classpath/jdwp/exception/InvalidClassLoaderException.java
+gnu/classpath/jdwp/exception/InvalidCountException.java
+gnu/classpath/jdwp/exception/InvalidEventTypeException.java
+gnu/classpath/jdwp/exception/InvalidFieldException.java
+gnu/classpath/jdwp/exception/InvalidLocationException.java
+gnu/classpath/jdwp/exception/InvalidMethodException.java
+gnu/classpath/jdwp/exception/InvalidObjectException.java
+gnu/classpath/jdwp/exception/InvalidStringException.java
+gnu/classpath/jdwp/exception/InvalidThreadException.java
+gnu/classpath/jdwp/exception/InvalidThreadGroupException.java
+gnu/classpath/jdwp/exception/JdwpException.java
+gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java
+gnu/classpath/jdwp/exception/JdwpInternalErrorException.java
+gnu/classpath/jdwp/exception/NotImplementedException.java
+gnu/classpath/jdwp/exception/VmDeadException.java
+gnu/classpath/jdwp/id/ArrayId.java
+gnu/classpath/jdwp/id/ArrayReferenceTypeId.java
+gnu/classpath/jdwp/id/ClassLoaderId.java
+gnu/classpath/jdwp/id/ClassObjectId.java
+gnu/classpath/jdwp/id/ClassReferenceTypeId.java
+gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java
+gnu/classpath/jdwp/id/JdwpId.java
+gnu/classpath/jdwp/id/ObjectId.java
+gnu/classpath/jdwp/id/ReferenceTypeId.java
+gnu/classpath/jdwp/id/StringId.java
+gnu/classpath/jdwp/id/ThreadGroupId.java
+gnu/classpath/jdwp/id/ThreadId.java
+gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java
+gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java
+gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java
+gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java
+gnu/classpath/jdwp/processor/ClassTypeCommandSet.java
+gnu/classpath/jdwp/processor/CommandSet.java
+gnu/classpath/jdwp/processor/EventRequestCommandSet.java
+gnu/classpath/jdwp/processor/FieldCommandSet.java
+gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java
+gnu/classpath/jdwp/processor/MethodCommandSet.java
+gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java
+gnu/classpath/jdwp/processor/PacketProcessor.java
+gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java
+gnu/classpath/jdwp/processor/StackFrameCommandSet.java
+gnu/classpath/jdwp/processor/StringReferenceCommandSet.java
+gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java
+gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java
+gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java
+gnu/classpath/jdwp/transport/ITransport.java
+gnu/classpath/jdwp/transport/JdwpCommandPacket.java
+gnu/classpath/jdwp/transport/JdwpConnection.java
+gnu/classpath/jdwp/transport/JdwpPacket.java
+gnu/classpath/jdwp/transport/JdwpReplyPacket.java
+gnu/classpath/jdwp/transport/SocketTransport.java
+gnu/classpath/jdwp/transport/TransportException.java
+gnu/classpath/jdwp/transport/TransportFactory.java
+gnu/classpath/jdwp/util/JdwpString.java
+gnu/classpath/jdwp/util/LineTable.java
+gnu/classpath/jdwp/util/Location.java
+gnu/classpath/jdwp/util/MethodResult.java
+gnu/classpath/jdwp/util/Signature.java
+gnu/classpath/jdwp/util/Value.java
+gnu/classpath/jdwp/util/VariableTable.java
 gnu/classpath/tools/Util.java
 gnu/classpath/tools/javap/GnuByteCodeJavap.java
 gnu/classpath/tools/javap/Javap.java
===================================================================
Checking out kaffe/libraries/javalib/gnu/classpath/jdwp/Jdwp.java
RCS:  /home/cvs/kaffe/kaffe/libraries/javalib/gnu/classpath/jdwp/Jdwp.java,v
VERS: 1.1
***************
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/libraries/javalib/gnu/classpath/jdwp/Jdwp.java	Sun Sep 11 22:33:48 2005
@@ -0,0 +1,302 @@
+/* Jdwp.java -- Virtual machine to JDWP back-end programming interface
+   Copyright (C) 2005 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.classpath.jdwp;
+
+import gnu.classpath.jdwp.event.Event;
+import gnu.classpath.jdwp.event.EventManager;
+import gnu.classpath.jdwp.event.EventRequest;
+import gnu.classpath.jdwp.id.ThreadId;
+import gnu.classpath.jdwp.processor.PacketProcessor;
+import gnu.classpath.jdwp.transport.ITransport;
+import gnu.classpath.jdwp.transport.JdwpConnection;
+import gnu.classpath.jdwp.transport.TransportException;
+import gnu.classpath.jdwp.transport.TransportFactory;
+
+import java.io.IOException;
+import java.security.AccessController;
+import java.util.HashMap;
+
+/**
+ * Main interface from the virtual machine to the JDWP back-end.
+ *
+ * @author Keith Seitz (keiths at redhat.com)
+ */
+public class Jdwp
+  extends Thread
+{
+  // The single instance of the back-end
+  private static Jdwp _instance = null;
+
+  /**
+   * Are we debugging?
+   */
+  public static boolean isDebugging = false;
+
+  // Packet processor
+  private PacketProcessor _packetProcessor;
+  private Thread _ppThread;
+
+  // JDWP configuration properties
+  private HashMap _properties;
+
+  // The suspend property of the configure string
+  // (-Xrunjdwp:..suspend=<boolean>)
+  private static final String _PROPERTY_SUSPEND = "suspend";
+
+  // User's main application thread
+  private Thread _mainThread;
+
+  // Connection to debugger
+  private JdwpConnection _connection;
+
+  // Are we shutting down the current session?
+  private boolean _shutdown;
+
+  // A thread group for the JDWP threads
+  private ThreadGroup _group;
+
+  /**
+   * constructor
+   */
+  public Jdwp ()
+  {
+    _shutdown = false;
+    isDebugging = true;
+    _instance = this;
+  }
+
+  /**
+   * Returns the JDWP back-end, creating an instance of it
+   * if one does not already exist.
+   */
+  public static Jdwp getDefault ()
+  {
+    return _instance;
+  }
+
+  /**
+   * Should the virtual machine suspend on startup?
+   */
+  public static boolean suspendOnStartup ()
+  {
+    Jdwp jdwp = getDefault ();
+    if (jdwp != null)
+      {
+	String suspend = (String) jdwp._properties.get (_PROPERTY_SUSPEND);
+	if (suspend != null && suspend.equals ("y"))
+	  return true;
+      }
+
+    return false;
+  }
+
+  /**
+   * Configures the back-end
+   *
+   * @param configArgs  a string of configury options
+   * @param mainThread  the main application thread
+   */
+  public void configure (String configArgs, Thread mainThread)
+  {
+    _mainThread = mainThread;
+    _processConfigury (configArgs);
+  }
+
+  // A helper function to initialize the transport layer
+  private void _doInitialization ()
+    throws TransportException
+  {
+    _group = new ThreadGroup ("JDWP threads");
+    // initialize transport
+    ITransport transport = TransportFactory.newInstance (_properties);
+    _connection = new JdwpConnection (_group, transport);
+    _connection.initialize ();
+    _connection.start ();
+
+    // Create processor
+    _packetProcessor = new PacketProcessor (_connection);
+    _ppThread = new Thread (_group, new Runnable ()
+      {
+	public void run ()
+	{
+	  AccessController.doPrivileged (_packetProcessor);
+	}
+      });
+    _ppThread.start ();
+  }
+
+  /**
+   * Shutdown the JDWP back-end
+   *
+   * NOTE: This does not quite work properly. See notes in 
+   * run() on this subject (catch of InterruptedException).
+   */
+  public void shutdown ()
+  {
+    if (!_shutdown)
+      {
+	_packetProcessor.shutdown ();
+	_ppThread.interrupt ();
+	_connection.shutdown ();
+	_shutdown = true;
+	isDebugging = false;
+
+	/* FIXME: probably need to check state of user's
+	   program -- if it is suspended, we need to either
+	   resume or kill them. */
+
+	interrupt ();
+      }
+  }
+
+  /**
+   * Notify the debugger of an event. This method should not
+   * be called if debugging is not active (but it would not
+   * cause any harm). Places where event notifications occur
+   * should check isDebugging before doing anything.
+   *
+   * The event is filtered through the event manager before being
+   * sent.
+   *
+   * FIXME: Probably need logic to send multiple events
+   * @param event the event to report
+   */
+  public static void notify (Event event)
+  {
+    Jdwp jdwp = getDefault ();
+    if (jdwp != null)
+      {
+	EventManager em = EventManager.getDefault ();
+	EventRequest request = em.getEventRequest (event);
+	if (request != null)
+	  sendEvent (request, event);
+      }
+  }
+  
+  /**
+   * Sends the event to the debugger.
+   *
+   * This method bypasses the event manager's filtering.
+   *
+   * @param  request  the debugger request for the event
+   * @param  event    the event to send
+   */
+  public static void sendEvent (EventRequest request, Event event)
+  {
+    Jdwp jdwp = getDefault ();
+    if (jdwp != null)
+      {
+	try
+	  {
+	    // !! May need to implement send queue?
+	    synchronized (jdwp._connection)
+	      {
+		jdwp._connection.sendEvent (request, event);
+	      }
+	    
+	    // Follow suspend policy
+	    jdwp._enforceSuspendPolicy (request.getSuspendPolicy ());
+	  }
+	catch (IOException ie)
+	  {
+	    System.out.println ("Jdwp.notify: caught exception: " + ie);
+	  }
+      }
+  }
+
+  // Helper function to enforce suspend policies on event notification
+  private void _enforceSuspendPolicy (byte suspendPolicy)
+  {
+    switch (suspendPolicy)
+      {
+      case EventRequest.SUSPEND_NONE:
+	// do nothing
+	break;
+
+      case EventRequest.SUSPEND_THREAD:
+	VMVirtualMachine.suspendThread (this);
+	break;
+
+      case EventRequest.SUSPEND_ALL:
+	VMVirtualMachine.suspendAllThreads ();
+	break;
+      }
+  }
+
+  public void run ()
+  {
+    try
+      {
+	_doInitialization ();
+
+	_mainThread.start ();
+
+	_mainThread.join ();
+      }
+    catch (InterruptedException ie)
+      {
+	/* Shutting down. If we're in server mode, we should
+	   prepare for a new connection. Otherwise, we should
+	   simply exit. */
+	// FIXME
+      }
+    catch (Throwable t)
+      {
+	System.out.println ("Exception in JDWP back-end: " + t);
+	System.exit (1);
+      }
+  }
+
+  // A helper function to process the configure string "-Xrunjdwp:..."
+  private void _processConfigury (String configString)
+  {
+    // Loop through configuration arguments looking for a
+    // transport name
+    _properties = new HashMap ();
+    String[] options = configString.split (",");
+    for (int i = 0; i < options.length; ++i)
+      {
+	String[] property = options[i].split ("=");
+	if (property.length == 2)
+	  _properties.put (property[0], property[1]);
+	// ignore malformed options
+      }
+  }
+}
===================================================================
Checking out kaffe/libraries/javalib/gnu/classpath/jdwp/JdwpConstants.java
RCS:  /home/cvs/kaffe/kaffe/libraries/javalib/gnu/classpath/jdwp/JdwpConstants.java,v
VERS: 1.1
***************
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/libraries/javalib/gnu/classpath/jdwp/JdwpConstants.java	Sun Sep 11 22:33:48 2005
@@ -0,0 +1,901 @@
+/* JdwpConstants.java -- Constants defined by JDWP 1.4 specification
+   Copyright (C) 2005 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.classpath.jdwp;
+
+/**
+ * Constants defined by JDWP specification.
+ *
+ * @author Keith Seitz  (keiths at redhat.com)
+ */
+public class JdwpConstants
+{
+  public static final class Version
+  {
+    public static final int MAJOR = 1;
+    public static final int MINOR = 4;
+  }
+  
+  ////////////////////////////////////////
+  //           Commands/Sets            //
+  ////////////////////////////////////////
+
+  public static final class CommandSet
+  {
+    public static final class VirtualMachine
+    {
+      public static final byte CS_VALUE = 1;
+
+      // commands
+      public static final byte VERSION = 1;
+      public static final byte CLASSES_BY_SIGNATURE = 2;
+      public static final byte ALL_CLASSES = 3;
+      public static final byte ALL_THREADS = 4;
+      public static final byte TOP_LEVEL_THREAD_GROUPS = 5;
+      public static final byte DISPOSE = 6;
+      public static final byte IDSIZES = 7;
+      public static final byte SUSPEND = 8;
+      public static final byte RESUME = 9;
+      public static final byte EXIT = 10;
+      public static final byte CREATE_STRING = 11;
+      public static final byte CAPABILITIES = 12;
+      public static final byte CLASS_PATHS = 13;
+      public static final byte DISPOSE_OBJECTS = 14;
+      public static final byte HOLD_EVENTS = 15; 
+      public static final byte RELEASE_EVENTS = 16;
+      public static final byte CAPABILITIES_NEW = 17;
+      public static final byte REDEFINE_CLASSES = 18;
+      public static final byte SET_DEFAULT_STRATUM = 19;
+      public static final byte ALL_CLASSES_WITH_GENERIC = 20;
+    }
+
+    public static final class ReferenceType
+    {
+      public static final byte CS_VALUE = 2;
+
+      // commands
+      public static final byte SIGNATURE= 1;
+      public static final byte CLASS_LOADER= 2;
+      public static final byte MODIFIERS = 3;
+      public static final byte FIELDS = 4;
+      public static final byte METHODS = 5; 
+      public static final byte GET_VALUES = 6;
+      public static final byte SOURCE_FILE = 7;
+      public static final byte NESTED_TYPES = 8;
+      public static final byte STATUS = 9;
+      public static final byte INTERFACES= 10;
+      public static final byte CLASS_OBJECT = 11;
+      public static final byte SOURCE_DEBUG_EXTENSION = 12;
+      public static final byte SIGNATURE_WITH_GENERIC = 13;
+      public static final byte FIELDS_WITH_GENERIC = 14;
+      public static final byte METHODS_WITH_GENERIC = 15;
+    }
+
+    public static final class ClassType
+    {
+      public static final byte CS_VALUE = 3;
+
+      // commands
+      public static final byte SUPERCLASS = 1;
+      public static final byte SET_VALUES = 2;
+      public static final byte INVOKE_METHOD = 3;
+      public static final byte NEW_INSTANCE = 4;
+    }
+
+    public static final class ArrayType
+    {
+      public static final byte CS_VALUE = 4;
+
+      // commands
+      public static final byte NEW_INSTANCE = 1;
+    }
+
+    public static final class InterfaceType

*** Patch too long, truncated ***



More information about the kaffe mailing list