[commit: ghc] wip/T12626: Argument compression: Optimize for quick decompression (3c102cd)

git at git.haskell.org git at git.haskell.org
Tue Sep 27 04:32:45 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/T12626
Link       : http://ghc.haskell.org/trac/ghc/changeset/3c102cd235a03e5bd4a964ce337e3728e4237bb7/ghc

>---------------------------------------------------------------

commit 3c102cd235a03e5bd4a964ce337e3728e4237bb7
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Tue Sep 27 00:19:36 2016 -0400

    Argument compression: Optimize for quick decompression
    
    By storing the offset to the value argument to take the type from, the
    decompression function is pretty simple:
      * It no longer needs to know the arity of the uncompressed argument
        list.
      * If a type application is poped but then not forced, no exprType is
        executed.
      * The analysis of the function's type is done only once, when the
        list of applications is compressed, but no longer when it is
        decompressed.


>---------------------------------------------------------------

3c102cd235a03e5bd4a964ce337e3728e4237bb7
 compiler/coreSyn/CoreSeq.hs   |   7 ++-
 compiler/coreSyn/CoreSyn.hs   | 140 +++++++++++++++++++-----------------------
 compiler/coreSyn/CoreUtils.hs |  18 +++---
 compiler/coreSyn/PprCore.hs   |  26 ++++----
 compiler/main/TidyPgm.hs      |   4 +-
 5 files changed, 92 insertions(+), 103 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 3c102cd235a03e5bd4a964ce337e3728e4237bb7


More information about the ghc-commits mailing list