[commit: ghc] master: StgCmmForeign: Push local register creation into code generation (bbee3e1)

git at git.haskell.org git at git.haskell.org
Tue Jan 5 21:49:28 UTC 2016


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

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

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

commit bbee3e167b79d66d4a5973ea1242e2f02c2ddf13
Author: Ben Gamari <bgamari.foss at gmail.com>
Date:   Tue Jan 5 22:10:28 2016 +0100

    StgCmmForeign: Push local register creation into code generation
    
    The interfaces to {save,load}ThreadState were quite messy due to the
    need to pass in local registers (produced with draws from a unique
    supply) since they were used from both FCode and UniqSM.
    
    This, however, is entirely unnecessary as we already have an
    abstraction to capture this effect: MonadUnique. Use it.
    
    This is part of an effort to properly represent stack unwinding
    information
    for foreign calls.
    
    Test Plan: validate
    
    Reviewers: austin, simonmar
    
    Reviewed By: simonmar
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D1733


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

bbee3e167b79d66d4a5973ea1242e2f02c2ddf13
 compiler/cmm/CmmLayoutStack.hs    |  15 ++----
 compiler/codeGen/StgCmmForeign.hs | 106 ++++++++++++++++++--------------------
 compiler/codeGen/StgCmmMonad.hs   |   6 +++
 compiler/codeGen/StgCmmUtils.hs   |   5 +-
 4 files changed, 64 insertions(+), 68 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 bbee3e167b79d66d4a5973ea1242e2f02c2ddf13


More information about the ghc-commits mailing list