On 6 July 2011 17:48, Max Bolingbroke <[email protected]> wrote: > On 6 July 2011 16:40, Simon Marlow <[email protected]> wrote: >> When the data type has more constructors than we have room for in the tag >> bits, then the code for the alternatives will grab the tag from the info >> table. If the info table is IND_STATIC_info, this will go wrong.
I tried adding a new LambdaForm for indirections so that references to the top level closure would not get pointer tagged but it still fails somehow. Bah! This is too hard, I'm giving up (unless I get some flash of insight). In other news, I stopped exporting _info pointers for datacon workers, which saved 1667 exports. This change only affects *non-nullary* data constructors: as you can see, in GHC almost exactly 50% of data constructors have no arguments, so special case treatment for them can be important. The total number of exports I've saved is now up to ~15k... lets see if I can eliminate anything else. Cheers, Max _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
