1. 29 Apr, 2016 1 commit
  2. 28 Apr, 2016 29 commits
  3. 27 Apr, 2016 1 commit
    • Joachim Breitner's avatar
      Implement the state hack without modifiyng OneShotInfo · a48ebcc4
      Joachim Breitner authored
      Previously, the state hack would be implemented in mkLocalId, by looking
      at the type, and setting the OneShot flag accordingly.
      
      This patch changes this so that the OneShot flag faithfully represents
      what our various analyses found out, and the State Hack is implemented
      by adjusting the accessors, in particular isOneShotBndr and
      idStateHackOneShotInfo. This makes it easier to understand what's going
      on in the analyses, and de-clutters core dumps and interface files.
      
      I don’t expect any change in behaviour, at least not in non-fringe
      cases.
      a48ebcc4
  4. 26 Apr, 2016 9 commits
    • niteria's avatar
      Kill varSetElems in markNominal · f13a8d21
      niteria authored
      varSetElems introduces unnecessary nondeterminism and it was
      straighforward to just get a deterministic list.
      
      Test Plan: ./validate
      
      Reviewers: austin, goldfire, bgamari, simonmar, simonpj
      
      Reviewed By: simonpj
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2145
      
      GHC Trac Issues: #4012
      f13a8d21
    • niteria's avatar
      Kill varSetElems try_tyvar_defaulting · 94320e1d
      niteria authored
      `varSetElems` introduces unnecessary nondeterminism and we can do
      the same thing deterministically for the same price.
      
      Test Plan: ./validate
      
      Reviewers: goldfire, austin, simonmar, bgamari, simonpj
      
      Reviewed By: simonpj
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2143
      
      GHC Trac Issues: #4012
      94320e1d
    • niteria's avatar
      Kill varSetElems in TcErrors · 2dc5b92e
      niteria authored
      The uses of varSetElems in these places are unnecessary and while it
      doesn't intruduce non-determinism in the ABI the plan is to get
      rid of all varSetElems to get some compile time guarantees.
      
      Test Plan: ./validate
      
      Reviewers: austin, simonmar, bgamari, goldfire, simonpj
      
      Reviewed By: simonpj
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2141
      
      GHC Trac Issues: #4012
      2dc5b92e
    • Simon Marlow's avatar
      Just comments & reformatting · 0712f556
      Simon Marlow authored
      0712f556
    • Simon Marlow's avatar
      Use __builtin_clz() to implement log_2() · 24864ba5
      Simon Marlow authored
      A microoptimisation in the block allocator.
      24864ba5
    • Simon Marlow's avatar
      Doc improvement for ApplicativeDo · d3969962
      Simon Marlow authored
      Make it clearer that the final statement should be exactly
      "(return|pure) E".
      d3969962
    • Simon Marlow's avatar
      GHCi: use real time instead of CPU time for :set -s · 95f9334a
      Simon Marlow authored
      CPU time is never very accurate, and it broke completely with
      -fexternal-interpreter which runs the interpreted computations in a
      separate process.
      95f9334a
    • Simon Marlow's avatar
      RTS: Add setInCallCapability() · e68195a9
      Simon Marlow authored
      This allows an OS thread to specify which capability it should run on
      when it makes a call into Haskell.  It is intended for a fairly
      specialised use case, when the client wants to have tighter control over
      the mapping between OS threads and Capabilities - perhaps 1:1
      correspondence, for example.
      e68195a9
    • niteria's avatar
      Kill varSetElemsWellScoped in quantifyTyVars · c9bcaf31
      niteria authored
      varSetElemsWellScoped introduces unnecessary non-determinism in
      inferred type signatures.
      Removing this instance required changing the representation of
      TcDepVars to use deterministic sets.
      This is the last occurence of varSetElemsWellScoped, allowing me to
      finally remove it.
      
      Test Plan:
      ./validate
      I will update the expected outputs when commiting, some reordering
      of type variables in types is expected.
      
      Reviewers: goldfire, simonpj, austin, bgamari
      
      Reviewed By: simonpj
      
      Subscribers: thomie, simonmar
      
      Differential Revision: https://phabricator.haskell.org/D2135
      
      GHC Trac Issues: #4012
      c9bcaf31