- The object list is a list of pointers into segment data describing
- where object IDs can be found. When copying a segment to the
- destination address space, it will convert all IDs (allocating a new
- ID if necessary). The object list must be in order (first by
- segment, then by address); an exception may be thrown if it is out
- of order or if it contains invalid entries. Segments with object
- IDs cannot have the Shared flag. Unmarshalling code should always
- verify that any ID it expects is actually in the object list.
-
- ptrlist_ptr 3 Pointer to the pointer list
- ptrlist_len 4 Length of the pointer list
-
- The pointer list, like the object list, is a list of pointers to
- segment data. Each pointer pointed to must also point within
- segment data, and will be modified by the ORB when copied to point
- to the equivalent location in the destination address space. The
- pointer list must be in order (first by segment, then by address);
- an exception may be thrown if it is out of order of if it contains
- invalid entries. Segments with internal pointers cannot have the
- Shared flag (shared segments can still be pointed to, of course).
- Unmarshalling code should always verify that any internal pointer it
- expects actually points within a valid segment.
+ The object list is a special segment that contains object IDs
+ rather than arbitrary data. Each object ID will be translated
+ into the destination ID-space, allocating new IDs when
+ necessary.