[GHC] #9281: Rewrite `integer-gmp` to use only non-allocating GMP functions

GHC ghc-devs at haskell.org
Wed Sep 17 15:58:30 UTC 2014


#9281: Rewrite `integer-gmp` to use only non-allocating GMP functions
-------------------------------------+-------------------------------------
              Reporter:  hvr         |            Owner:  hvr
                  Type:  task        |           Status:  patch
              Priority:  normal      |        Milestone:  7.10.1
             Component:  libraries   |          Version:
  (other)                            |         Keywords:  integer-gmp
            Resolution:              |     Architecture:  Unknown/Multiple
      Operating System:              |       Difficulty:  Unknown
  Unknown/Multiple                   |       Blocked By:
       Type of failure:              |  Related Tickets:  #8647
  None/Unknown                       |
             Test Case:              |
              Blocking:              |
Differential Revisions:  Phab:D82    |
-------------------------------------+-------------------------------------

Comment (by Herbert Valerio Riedel <hvr@…>):

 In [changeset:"b62bd5ecf3be421778e4835010b6b334e95c5a56/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="b62bd5ecf3be421778e4835010b6b334e95c5a56"
 Implement `decodeDouble_Int64#` primop

 The existing `decodeDouble_2Int#` primop is rather inconvenient to use
 (and in fact is not even used by `integer-gmp`) as the mantissa is split
 into 3 components which would actually fit in an `Int64#` value.

 However, `decodeDouble_Int64#` is to be used by the new `integer-gmp2`
 re-implementation (see #9281).

 Moreover, `decodeDouble_2Int#` performs direct bit-wise operations on the
 IEEE representation which can be replaced by a combination of the
 portable standard C99 `scalbn(3)` and `frexp(3)` functions.

 Differential Revision: https://phabricator.haskell.org/D160
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9281#comment:12>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list