On Tue, 8 May 2007, Allison Randal via RT wrote:
> Allison Randal wrote:
> > I've started working on src/gc/res_lea.c, after
> > removing the check for the no-longer-used flag.
>
> I've checked in those two changes. On to the next step:
>
> /home/allison/projects/svn/parrot/blib/lib/libparrot.so: undefined
> reference to `Parrot_allocate_aligned'
> /home/allison/projects/svn/parrot/blib/lib/libparrot.so: undefined
> reference to `Parrot_merge_memory_pools'
>
> Looks like these two functions are defined in src/gc/resources.c, and
> that when building with --gc=libc this file is replaced by
> src/gc/res_lea.c. So, they need to be defined in src/gc/res_lea.c as well.
I was about to post a patch adding those functions in, but I see that
you're in the middle of a much more thorough review than I had attempted,
so my patch isn't going to apply anymore, and would probably be
misleading, to boot.
Going down that route anyway, I haven't solved any GC problems, so it may
not end up being a useful diversion. Still, I have been looking at the
hand-rolling of structures, such as this one at the top of resources.c, to
see if they could be simplified in the simplified --gc=libc case (where
we're not worrying about compaction and moving aligned pools to unaligned
places.)
+-----------------+
| ref_count |f | # GC header
obj->bufstart -> +-----------------+
| data |
v v
--
Andy Dougherty [EMAIL PROTECTED]