[GHC] #8647: Reduce allocations in `integer-gmp`
GHC
ghc-devs at haskell.org
Thu Jan 16 23:20:05 UTC 2014
#8647: Reduce allocations in `integer-gmp`
--------------------------------------------+------------------------------
Reporter: hvr | Owner:
Type: task | Status: patch
Priority: normal | Milestone: 7.8.1
Component: libraries (other) | Version: 7.6.3
Resolution: | Keywords: integer-
Operating System: Unknown/Multiple | gmp
Type of failure: Runtime performance bug | Architecture: x86_64
Test Case: | (amd64)
Blocking: | Difficulty: Unknown
| Blocked By:
| Related Tickets: #8638
--------------------------------------------+------------------------------
Comment (by Herbert Valerio Riedel <hvr@…>):
In [changeset:"0476327376045838375fbbe4a78c02859a1913cb/integer-gmp"]:
{{{
#!CommitTicketReference repository="integer-gmp"
revision="0476327376045838375fbbe4a78c02859a1913cb"
Dont use big/small-int primops on IL32P64 (i.e. Win/x86_64) for now
This is due to `mpz_*()` functions having @long@ arguments which are
32bit on IL32P64, whereas `Int#` and `Word#` are 64bit wide, causing all
sorts of malfunction due to truncation.
This affects mostly the new big/small-int primops introduced in the
course of #8647, so when `SIZEOF_W != SIZEOF_LONG` we simply fall back
to using the big/big-int primops. big/small primops implemented via the
low-level `mpn_*()` GMP operations are not affected, as those use
`mp_limb_t` arguments.
Signed-off-by: Herbert Valerio Riedel <hvr at gnu.org>
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8647#comment:17>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list