[commit: ghc] wip/libdw-unwind: Debug: Allow Unwind nodes anywhere in a block (46b875e)

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


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

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

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

commit 46b875eef96aee609b12a938d610b0f188bf1103
Author: Ben Gamari <ben at smart-cactus.org>
Date:   Fri Jan 1 22:51:51 2016 +0100

    Debug: Allow Unwind nodes anywhere in a block
    
    Previously we can only use unwind information at the beginning of a block
    since we otherwise have no label to apply it to. This, of course, isn't
    nearly expressive enough to properly encode unwinding for general
    programs. For this reason, we want to be able to include unwind
    information at arbitrary points within a block.
    
    This is a first step in this direction, ensuring that all unwind nodes
    We accomplish this by making `CmmUnwind` carry a label, which the NCG
    will emit into the block and which the Dwarf generator can refer to in
    the unwind tables it produces.


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

46b875eef96aee609b12a938d610b0f188bf1103
 compiler/cmm/CmmCommonBlockElim.hs |  2 +-
 compiler/cmm/CmmLayoutStack.hs     |  2 +-
 compiler/cmm/CmmNode.hs            | 17 +++++++----
 compiler/cmm/Debug.hs              | 58 +++++++++++++++++++++++++-------------
 compiler/cmm/PprCmm.hs             |  2 +-
 compiler/codeGen/StgCmmMonad.hs    |  5 ++--
 compiler/nativeGen/Dwarf.hs        | 20 ++++++-------
 compiler/nativeGen/Dwarf/Types.hs  | 48 +++++++++++++++++--------------
 compiler/nativeGen/X86/CodeGen.hs  |  7 +++--
 compiler/nativeGen/X86/Instr.hs    |  5 ++++
 compiler/nativeGen/X86/Ppr.hs      |  3 ++
 11 files changed, 104 insertions(+), 65 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 46b875eef96aee609b12a938d610b0f188bf1103


More information about the ghc-commits mailing list