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]

Reply via email to