I checked the code for Boehm's gc and on x86_64 all pointers are aligned to 8 byte boundaries (see the files gcconfig.h for x86_64 and the definition of ALIGNMENT, gc_priv.h for the definition of BYTES_TO_WORDS, ROUNDED_UP_WORDS and ALIGNED_WORDS. One assumes that this code is actually #included and used, but it seems to be the case, e.g. see GC_init_size_map.
Bill. 2009/12/11 Bill Hart <goodwillh...@googlemail.com>: > omalloc is easy to fix. Just configure it with --with-align=8 on 64 > bit systems. There are other configure options for how alignment is > done. > > Bill. > > 2009/12/11 Cactus <rieman...@googlemail.com>: >> >> >> On Dec 10, 9:13 pm, Dan Grayson <d...@math.uiuc.edu> wrote: >>> Well, Macaulay2 comes with thousands of tests, and only one failed, >>> deep inside a D-modules computation. It took a lot of single stepping >>> to figure it out. Part of the problem is that we have two custom >>> memory allocators, Boehm's gc and one copied from Singular-Factory >>> long ago. The latter is used just when calling routines in the >>> Singular-Factory library (it's fast), which doesn't happen that often. >> >> I think that the one being used is omalloc (omalloc.c), which seems to >> default to 4 byte alignment, which is now wrong on Windows x64 at >> least. >> >> I notice that this allocator may also be used in Sage (William was >> involved in getting its license changed). I don't think it would be >> hard to update this allocator to match current architetcture >> requirements by increasing its default block alignment. >> >> But it also has the ability to deliver aligned memory with memalign >> (alignment, size) in place of malloc(size). >> >> If only malloc() and free() are being used - not realloc() - it >> _might_ be possible to use something like: >> >> #define malloc(x) memalign(ALIGN, x) >> >> with ALIGN as 8 or 16 as a quick fix (provided this definition can be >> suitably localised).. >> >> Brian >> >> -- >> >> You received this message because you are subscribed to the Google Groups >> "mpir-devel" group. >> To post to this group, send email to mpir-de...@googlegroups.com. >> To unsubscribe from this group, send email to >> mpir-devel+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/mpir-devel?hl=en. >> >> >> > -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to mpir-de...@googlegroups.com. To unsubscribe from this group, send email to mpir-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en.