Ticket #1753 (closed bug: fixed)
PMC attribute blocks not aligned
Reported by: | Paul C. Anagnostopoulos | Owned by: | Paul C. Anagnostopoulos |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | core | Version: | 2.6.0 |
Severity: | high | Keywords: | |
Cc: | Language: | ||
Patch status: | Platform: |
Description
As far as I can tell, PMC attribute blocks are not aligned as they are allocated in fixed-size PMC attribute pools. The memory manager assures that an attribute block is at least the size of a pointer, since free attribute blocks will be linked on the free lists. But it does not assure that each block starts on a pointer-aligned boundary. This probably doesn't matter to the standard PMCs, since their attributes are all integers, floats, or pointers. But a custom PMC could have, say, 13 bytes of short integers and/or characters.
I'm not completely sure I've analyzed this correctly, so I'll assign this ticket to myself for further analysis.