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]