[commit: ghc] wip/libdw-unwind: Encode multiple registers per CmmUnwind (b3ea026)

git at git.haskell.org git at git.haskell.org
Mon Jan 4 22:20:42 UTC 2016


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

On branch  : wip/libdw-unwind
Link       : http://ghc.haskell.org/trac/ghc/changeset/b3ea026ee03cd1525e53c98884f0b484bd68f922/ghc

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

commit b3ea026ee03cd1525e53c98884f0b484bd68f922
Author: Ben Gamari <ben at smart-cactus.org>
Date:   Mon Jan 4 16:13:21 2016 +0100

    Encode multiple registers per CmmUnwind
    
    This ends up being important since there is a subtle difference between
    two CmmUnwinds and one in the presence of the (-1) offset applied to
    frame information for blocks with info tables. This is because the
    offset will only be applied to the first CmmUnwind within a block, even
    if the two nodes apply to the same address.


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

b3ea026ee03cd1525e53c98884f0b484bd68f922
 compiler/cmm/CmmCommonBlockElim.hs |  2 +-
 compiler/cmm/CmmLayoutStack.hs     | 12 ++++++------
 compiler/cmm/CmmNode.hs            |  8 ++++----
 compiler/cmm/CmmParse.y            | 11 +++++++++--
 compiler/cmm/Debug.hs              |  4 ++--
 compiler/cmm/MkGraph.hs            |  2 +-
 compiler/cmm/PprCmm.hs             |  2 +-
 compiler/codeGen/StgCmmMonad.hs    |  6 +++---
 compiler/nativeGen/X86/CodeGen.hs  |  2 +-
 rts/StgStartup.cmm                 |  4 ++--
 10 files changed, 30 insertions(+), 23 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 b3ea026ee03cd1525e53c98884f0b484bd68f922


More information about the ghc-commits mailing list