Marc Glisse <marc.gli...@inria.fr> writes: > Er, people have been using the custom allocators for (possibly > imperfect) recovery on allocation failure for years. PPL's configure > script complains if gmp was compiled without -fexceptions for that > reason. Apparently SWI-Prolog uses longjmp > (http://stackoverflow.com/a/14245611/1918193).
Ok, good to hear about some examples. We ought to investigate these before deciding what to do to improve error recovery hooks. > Although itch/scratch may force a compromise between overestimating > the space required or spending too long estimating it, which I hope > won't penalize small numbers too much. I think a typical itch function will look like mp_size_t foo_itch (mp_size_t n) { if (LIKELY (BELOW_THRESHOLD (n, FOO_THRESHOLD))) return n; /* Or possibly zero or some other constant */ else ... something possibly more complicated, perhaps a full "synthetic computation" ... } So it's a function call (I think we usually want to avoid macros here), but for small operands it's just the function call overhead and a well-predicted branch. Regards, /Niels -- Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel