Skip to content

Rewrite `integer-gmp` to use only non-allocating GMP functions

After some promising results with a proof-of-concept implementation, I'm optimistic we can rewrite integer-gmp to use only non-allocating GMP lib functions without suffering from serious regressions.

If successful, this would

  • allow to avoid the custom GMP allocator hack, and thus
  • avoid issues when linking against other C libraries using GMP,
  • simplify code, as we would perform all heap allocations in Haskell code (and never inside Cmm/C code as its done now),
  • and finally maybe even remove a few more superfluous temporary heap allocations.

see also wiki:Design/IntegerGmp2

Edited by Herbert Valerio Riedel
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information