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]