1. 27 Oct, 2015 1 commit
    • niteria's avatar
      Make it possible to have different UniqSupply strategies · 158d2a91
      niteria authored
      To get reproducible/deterministic builds, the way that the Uniques are
      assigned shouldn't matter. This allows to test for that.
      
      It add 2 new flags:
      
      * `-dinitial-unique`
      * `-dunique-increment`
      
      And by varying these you can get interesting effects:
      
      * `-dinitial-unique=0 -dunique-increment 1` - current sequential
        UniqSupply
      
      * `-dinitial-unique=16777215 -dunique-increment -1` - UniqSupply that
        generates in decreasing order
      
      * `-dinitial-unique=1 -dunique-increment PRIME` - where PRIME big enough
        to overflow often - nonsequential order
      
      I haven't proven the usefullness of the last one yet and it's the reason
      why we have to mask the bits with `0xFFFFFF` in `genSym`, so I can
      remove it if it becomes contentious.
      
      Test Plan: validate on harbormaster
      
      Reviewers: simonmar, austin, ezyang, bgamari
      
      Reviewed By: austin, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1360
      
      GHC Trac Issues: #4012
      158d2a91
  2. 04 Sep, 2013 2 commits
  3. 27 Aug, 2013 1 commit
    • parcs's avatar
      UniqSupply: make mkSplitUniqSupply thread-safe · 036910ad
      parcs authored
      unsafeInterleaveIO is used instead of unsafeDupableInterleaveIO because
      a mk_supply thunk that is simultaneously entered by two threads should
      evaluate to the same UniqSupply.
      
      The UniqSupply counter is now incremented atomically using the RTS's
      atomic_inc().
      
      To mitigate the extra overhead of unsafeInterleaveIO in the
      single-threaded compiler, noDuplicate# is changed to exit early when
      n_capabilities == 1.
      036910ad
  4. 17 May, 2013 1 commit
  5. 08 Nov, 2008 1 commit
  6. 08 Jul, 2008 1 commit
    • Ian Lynagh's avatar
      Get rid of compat/ · 2002bc3d
      Ian Lynagh authored
      Compat.Unicode is not utils/Unicode in the compiler.
      We build the hpc package with the stage1 compiler.
      Nothing else in the compat package was still used.
      2002bc3d
  7. 20 Jun, 2008 1 commit
  8. 17 Jan, 2008 1 commit
    • Isaac Dupree's avatar
      lots of portability changes (#1405) · 206b4dec
      Isaac Dupree authored
      re-recording to avoid new conflicts was too hard, so I just put it
      all in one big patch :-(  (besides, some of the changes depended on
      each other.)  Here are what the component patches were:
      
      Fri Dec 28 11:02:55 EST 2007  Isaac Dupree <id@isaac.cedarswampstudios.org>
        * document BreakArray better
      
      Fri Dec 28 11:39:22 EST 2007  Isaac Dupree <id@isaac.cedarswampstudios.org>
        * properly ifdef BreakArray for GHCI
      
      Fri Jan  4 13:50:41 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
        * change ifs on __GLASGOW_HASKELL__ to account for... (#1405)
        for it not being defined. I assume it being undefined implies
        a compiler with relatively modern libraries but without most
        unportable glasgow extensions.
      
      Fri Jan  4 14:21:21 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
        * MyEither-->EitherString to allow Haskell98 instance
      
      Fri Jan  4 16:13:29 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
        * re-portabilize Pretty, and corresponding changes
      
      Fri Jan  4 17:19:55 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
        * Augment FastTypes to be much more complete
      
      Fri Jan  4 20:14:19 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
        * use FastFunctions, cleanup FastString slightly
      
      Fri Jan  4 21:00:22 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
        * Massive de-"#", mostly Int# --> FastInt (#1405)
      
      Fri Jan  4 21:02:49 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
        * miscellaneous unnecessary-extension-removal
      
      Sat Jan  5 19:30:13 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
        * add FastFunctions
      206b4dec
  9. 07 Apr, 2006 1 commit
    • Simon Marlow's avatar
      Reorganisation of the source tree · 0065d5ab
      Simon Marlow authored
      Most of the other users of the fptools build system have migrated to
      Cabal, and with the move to darcs we can now flatten the source tree
      without losing history, so here goes.
      
      The main change is that the ghc/ subdir is gone, and most of what it
      contained is now at the top level.  The build system now makes no
      pretense at being multi-project, it is just the GHC build system.
      
      No doubt this will break many things, and there will be a period of
      instability while we fix the dependencies.  A straightforward build
      should work, but I haven't yet fixed binary/source distributions.
      Changes to the Building Guide will follow, too.
      0065d5ab