• niteria's avatar
    Correctly add unwinding info in manifestSp and makeFixupBlocks · 6132d7c5
    niteria authored
    In `manifestSp` the unwind info was before the relevant instruction, not
    after.  I added some notes to establish semantics.  Also removes
    redundant annotation in stg_catch_frame.
    
    For `makeFixupBlocks` it looks like we were off by `wORD_SIZE dflags`.
    I'm not sure why, but it lines up with `manifestSp`.  In fact it lines
    up so well so that I can consolidate the Sp unwind logic in
    `maybeAddUnwind`.  I detected the problems with `makeFixupBlocks` by
    running T14779b after patching D4559.
    
    Test Plan: added a new test
    
    Reviewers: bgamari, scpmw, simonmar, erikd
    
    Reviewed By: bgamari
    
    Subscribers: thomie, carter
    
    GHC Trac Issues: #14999
    
    Differential Revision: https://phabricator.haskell.org/D4606
    6132d7c5
CmmLayoutStack.hs 45.8 KB