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