Andy Dougherty <[EMAIL PROTECTED]> wrote:
> I believe that one possibility is to use the supplied malloc.c file, which
> has a memalign implementation.

Yep.

> It comes from this section of include/parrot/pobj.h:

>     /*
>      * arenas are constant sized ~32 byte object size, ~128K objects
>      */
>     # define ARENA_SIZE (32*1024*128)
>     # define ARENA_ALIGN ARENA_SIZE

> That size may well be reasonable, but is that alignment really
> necessary?

When there is no suitable memalign (posix_memalign or memalign or
whatever might exist - current tests are only for the first two),
this code gets turned off at the beginning of pobj.h.

  #if ARENA_DOD_FLAGS && ! defined(HAS_SOME_MEMALIGN)
  #  undef ARENA_DOD_FLAGS
  #  define ARENA_DOD_FLAGS 0
  #endif

valloc is not suitable, this is for PAGE_SIZEd thingys only.

Anyway: If ARENA_DOD_FLAGS is set to 1, the alignment is used to
calculate the arena address from the PObj* pointer.

The offending #error directive emerged more or less out of curiosity and
isn't necessary.

leo

Reply via email to