[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] [RFA/JDWP] IDs
From: |
Keith Seitz |
Subject: |
[cp-patches] [RFA/JDWP] IDs |
Date: |
Mon, 06 Jun 2005 20:25:26 -0700 |
Hi,
Okay, this patch is rather large (almost 1,000 lines), but it's all
pretty repetitive stuff. So it shouldn't be nearly as bad as it sounds.
[Please yell if you want it broken up more.]
This patch starts the package gnu.classpath.jdwp.id, which contains
bookkeeping classes for all objects and reference types that are passed
to the debugger.
This patch contains the following classes (in this hierarchy):
JdwpId <-- ObjectId <--
{ArrayId,ClassLoaderId,ClassObjectId,StringId,ThreadGroupId,ThreadId}
JdwpId <-- ReferenceTypeId <--
{ArrayReferenceTypeId,ClassReferenceTypeId,InterfaceReferenceTypeId}
There are two varieties of IDs: object-like IDs (which are discarded
when the object is garbage collected) and reference type IDs (which are
never discarded).
Obviously the most important classes to peruse are JdwpId, ObjectId, and
ReferenceTypeId, since all the others differ only in calling the base
class constructor.
All IDs passed to the debugger can be passed as "tagged" or "untagged".
Untagged IDs are simply written to the outputstream as a long. "tagged"
IDs are written as a one-byte tag followed by the ID. All object ID
types use "tag" descriptors ('B', 'C', 'L', 'F', etc) and all reference
type tags use "type tag" descriptors (there are only three: class 1,
interface 2, and array 3).
Note that there are several ID types that I have not yet implemented
(most notably FieldId, MethodId, FrameId, Location, and other VM-
specific types).
Comments/questions/concerns?
Keith
ChangeLog
2005-06-06 Keith Seitz <address@hidden>
* gnu/classpath/jdwp/id/ArrayId.java: New file.
* gnu/classpath/jdwp/id/ArrayReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/ClassLoaderId.java: New file.
* gnu/classpath/jdwp/id/ClassObjectId.java: New file.
* gnu/classpath/jdwp/id/ClassReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/JdwpId.java: New file.
* gnu/classpath/jdwp/id/ObjectId.java: New file.
* gnu/classpath/jdwp/id/ReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/StringId.java: New file.
* gnu/classpath/jdwp/id/ThreadGroupId.java: New file.
* gnu/classpath/jdwp/id/ThreadId.java: New file.
- [cp-patches] [RFA/JDWP] IDs,
Keith Seitz <=