There are 2 new docs in docs/pdds/clip now (r14774):
1) pddXX_pmc.pod
2) pddXX_cstruct.pod
I'll start with 2) first: it'll be the metaclass of all (publically
accessible, C-derived) structures used in Parrot, it'll be the Class PMC of
PMC based objects therefore. As a PMC C<isa> CStruct and CStruct is
implemented as a PMC, it's the metaclass of itself.
The other document 1) describes a more general structure of PMC internal
layout:
- fixed (non-resizable) but:
- differently-sized structures
as currently already used by Buffer, String, and Bufferlike objects.
As all changes regarding this should be non-intrusive to any existing code,
I'll start implementing a CStruct PMC with the new layout.
Here are some (preliminary) steps:
[1] prelims
- send note about encapsulation within PMCs
- rearrange PMC fields to new conforming layout
- redefine PMC_* macros to use OPMC fields
- implemnent GC stuff re var-sized PMCs
[2] start CStruct
- use new_from_string vtable to construct a CStruct
- implement or delegate C struct {} parser.
That's it so far,
comments of course and always welcome,
leo