[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