[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