[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