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.


Reply via email to