This patch adds a few clarifications to comments. And I'm afraid this is how I'll have to leave it for now.
diff -r -u parrot-current/include/parrot/pobj.h parrot-andy/include/parrot/pobj.h --- parrot-current/include/parrot/pobj.h 2007-05-13 19:15:14.000000000 -0400 +++ parrot-andy/include/parrot/pobj.h 2007-05-14 08:57:38.000000000 -0400 @@ -75,14 +75,14 @@ is also suitably aligned for any use. If, for example, malloc() returns objects aligned on 8-byte boundaries, and obj->bufstart is also aligned on 8-byte boundaries, then there should be 4 bytes of padding. It is -handled differently in the two files resources.c and res_lea.c. (I have -not yet figured out how the 'possible padding' is handled in resources.c. ---A.D. 2007-05-11.) +handled differently in the two files resources.c and res_lea.c. +In resources.c, the buffer is carved out of a larger memory pool. In +res_lea.c, each buffer is individually allocated. src/gc/resources.c: src/gc/res_lea.c: ptr from malloc -> +------------------+ +------------------+ - | possible padding | | INTVAL ref_count | + [other blocks?] | INTVAL ref_count | | INTVAL ref_count | | possible padding | obj->bufstart -> +------------------+ +------------------+ | data | | data | diff -r -u parrot-current/src/gc/res_lea.c parrot-andy/src/gc/res_lea.c --- parrot-current/src/gc/res_lea.c 2007-05-12 19:15:12.000000000 -0400 +++ parrot-andy/src/gc/res_lea.c 2007-05-14 09:03:17.000000000 -0400 @@ -15,6 +15,12 @@ The "lea" in the file name refers to Doug Lea, who wrote malloc implementation found in F<src/malloc.c>. +As of May 14, 2007, it doesn't work (and hasn't worked for some +time.) The problem appears to be related to strings, but actually +could be somewhere else. This allocator does not support any of +Parrot's Copy-on-Write schemes. Nor does the string allocator +handle "external" strings. + =head2 Functions =over 4 -- Andy Dougherty [EMAIL PROTECTED]