Andy Dougherty wrote:

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.

Just adding Parrot_allocate_aligned and Parrot_merge_memory_pools shouldn't conflict. I'm pretty confident they will need to be implemented custom for res_lea.c. (I haven't made any changes to the file since my last commit.)

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

Sounds great.

Allison

Reply via email to