[PPL-devel] Re: First part of the problem: GMP
Vitor Santos Costa
vitor at biostat.wisc.edu
Wed Jun 19 23:47:52 CEST 2002
>
> Hi Vitor,
>
> I believe that calling mp_set_memory_functions repeatedly would mean that
> we must abandon all the guarantees provided by GMP's interface.
> In fact, the following paragraph is taken from GMP's manual:
>
> @strong{Be sure to call @code{mp_set_memory_functions} only when there are no
> active GMP objects allocated using the previous memory functions! Usually
> that means calling it before any other GMP function.}
>
> Ciao
>
> Roberto
>
Hi Roberto,
I changed the Yap GMP allocation routines to fall back to
malloc/realloc/free if outside context. I think that is the best
solution for two reasons:
- It is the most general: external processes might not want their
objects to disappear during backtracking.
- It avoids nasty interactions with the garbage collector: even I
disallow gc of these objects, is application is not prepared for
the gc barging in and shifting objects around?
I haven't actually tested it outside Yap, do you mind trying it and
telling me it works?
Thanks
Vitor
More information about the PPL-devel
mailing list