On Wed, Dec 08, 2010 at 11:31:19PM -0500, Edward Z. Yang wrote:
> Ian, I'd love a little guidance with this patch:
> 
> Thu Oct 21 13:08:53 BST 2010  Ian Lynagh <ig...@earth.li>
>   * Use takeUniqFromSupply in emitProcWithConvention
>   We were using the supply's unique, and then passing the same supply to
>   initUs_, which sounds like a bug waiting to happen.
>     {
>     hunk ./compiler/codeGen/StgCmmMonad.hs 607
>     -        ; let (offset, entry) = mkEntry (mkBlockId $ uniqFromSupply us) 
> conv args
>     -              blks = initUs_ us $ lgraphOfAGraph $ entry <*> blocks
>     +        ; let (uniq, us') = takeUniqFromSupply us
>     +              (offset, entry) = mkEntry (mkBlockId uniq) conv args
>     +              blks = initUs_ us' $ lgraphOfAGraph $ entry <*> blocks
>     }
> 
> The new codegen has this hunk instead:
> 
>         ; let (offset, entry) = mkCallEntry conv args
>               blks = initUs_ us $ lgraphOfAGraph $ entry <*> blocks
> 
> and it's not clear to me if this circumvents the previous bug
> or mkCallEntry needs to be modified to expose the new supply.

The problem was that "us" was being used twice. If it's now only used
once then no problem.


Thanks
Ian


_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to