Skip to content
  • Ben Gamari's avatar
    StgCmmForeign: Push local register creation into code generation · bbee3e16
    Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
    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
    bbee3e16