[commit: ghc] master: Generate .loc/.file directives from source ticks (64678e9)

git at git.haskell.org git at git.haskell.org
Wed Dec 17 00:33:10 UTC 2014


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/64678e9e8ff0107cac956f0c7b799a1dd317b963/ghc

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

commit 64678e9e8ff0107cac956f0c7b799a1dd317b963
Author: Peter Wortmann <scpmw at leeds.ac.uk>
Date:   Mon Dec 8 16:54:16 2014 +0100

    Generate .loc/.file directives from source ticks
    
    This generates DWARF, albeit indirectly using the assembler. This is
    the easiest (and, apparently, quite standard) method of generating the
    .debug_line DWARF section.
    
    Notes:
    
    * Note we have to make sure that .file directives appear correctly
      before the respective .loc. Right now we ppr them manually, which makes
      them absent from dumps. Fixing this would require .file to become a
      native instruction.
    
    * We have to pass a lot of things around the native code generator. I
      know Ian did quite a bit of refactoring already, but having one common
      monad could *really* simplify things here...
    
    * To support SplitObjcs, we need to emit/reset all DWARF data at every
      split. We use the occassion to move split marker generation to
      cmmNativeGenStream as well, so debug data extraction doesn't have to
      choke on it.
    
    (From Phabricator D396)


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

64678e9e8ff0107cac956f0c7b799a1dd317b963
 compiler/nativeGen/AsmCodeGen.hs           | 129 +++++++++++++++++------------
 compiler/nativeGen/NCGMonad.hs             |  37 ++++++++-
 compiler/nativeGen/RegAlloc/Linear/Main.hs |   4 +-
 compiler/nativeGen/X86/CodeGen.hs          |  13 ++-
 compiler/nativeGen/X86/Instr.hs            |   6 ++
 compiler/nativeGen/X86/Ppr.hs              |   5 ++
 6 files changed, 137 insertions(+), 57 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 64678e9e8ff0107cac956f0c7b799a1dd317b963


More information about the ghc-commits mailing list