> > Both sage and ecl use GMP for their multi-precision arithmetic, and > > both call mp_set_memory_functions to register their memory managers. > > This obviously doesn't work, since GMP only keeps track of one set of > > memory management routines. Ecl needs to use its memory manager, since > > it relies on Boehm for garbage collection and sage needs to use its > > own because python relies on reference counting.
This is not correct, last time I checked we basically told GMP to use system malloc (1). There is no issue of reference counting at this stage. Can't we just steal the memory management functions back after ECL was initialised? This is what we do after libSingular is loaded which also registers its own malloc/free/remalloc functions. Cheers, Martin (1) It might be worth a revision now that we ship like 10 slack allocators or so. -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF _www: http://www.informatik.uni-bremen.de/~malb _jab: martinralbre...@jabber.ccc.de --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---