New codegen failing test-cases

Edward Z. Yang ezyang at MIT.EDU
Thu Dec 9 05:31:19 CET 2010


Ian, I'd love a little guidance with this patch:

Thu Oct 21 13:08:53 BST 2010  Ian Lynagh <igloo at 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.

Edward



More information about the Glasgow-haskell-users mailing list