1. 24 Feb, 2007 2 commits
  2. 23 Feb, 2007 4 commits
  3. 22 Feb, 2007 4 commits
  4. 11 Jan, 2007 1 commit
  5. 21 Feb, 2007 3 commits
  6. 19 Feb, 2007 1 commit
    • mnislaih's avatar
      Removed unnecessary code · 704422eb
      mnislaih authored
      The breakpointJump functions never show up in the code that the typechecker sees, as they are inserted by the desugarer later.
      704422eb
  7. 21 Feb, 2007 8 commits
  8. 20 Feb, 2007 4 commits
  9. 19 Feb, 2007 1 commit
    • simonpj@microsoft.com's avatar
      Signature type variables must not be instantiated with tycons · ad17cf6e
      simonpj@microsoft.com authored
      An egregious bug in the type checker meant that it was possible for a 
      "signature type variable" (a MetaTv of SigTv form) to be instantatiated 
      with a type-constructor application.  This destroys the invariant for
      SigTv.
      
      The fix is easy; adding the predicate TcType.isTyConableTyVar
      
      Fixes Trac #1153
      ad17cf6e
  10. 16 Feb, 2007 3 commits
  11. 14 Feb, 2007 1 commit
  12. 15 Feb, 2007 1 commit
    • mnislaih's avatar
      Fixed a bug in the datacon names extension in the dynamic linker · 47ec5807
      mnislaih authored
      My code was doing unnecessary work when trying to get hold of all the BCOs in order to sniff the datacon names.
      This involved calculating the transitive closure of a relation and was causing a huge performance slowdown in GHCi, as benchmarks uncovered. It turns out that this calculation was unnecessary.
      47ec5807
  13. 13 Feb, 2007 1 commit
  14. 15 Feb, 2007 1 commit
    • Simon Marlow's avatar
      When the pipeline just copies the file, prepend a LINE pragma · cf411c9a
      Simon Marlow authored
      For example, "ghc -E Foo.hs -o Foo.bar" just copies Foo.hs to
      Foo.bar.  This patch adds a LINE pragma to the beginning of Foo.bar so
      that further processing can track the location of the original file.
      
      The motiviation for this is bug #1044.  When generating Haddock docs,
      we preprocess the .hs to a .raw-hs, sometimes this doesn't involve any
      actual preprocessing and in those cases we lose track of the original
      filename.
      cf411c9a
  15. 14 Feb, 2007 2 commits
    • Simon Marlow's avatar
      add a ToDo, reference bug #1147 · 4564c112
      Simon Marlow authored
      4564c112
    • Simon Marlow's avatar
      fix closure_sizeW_() for AP closures · dcecd7a5
      Simon Marlow authored
      Since thunks grew an extra padding word in GHC 6.6, closure_sizeW()
      has been wrong for AP closures because it assumed compatible layout
      between PAPs and APs.  One symptom is that the compacting GC would
      crash if it encountered an AP.  APs conly crop up in GHCi or
      when using asynchronous exceptions.
      
      Fixes #1010
      dcecd7a5
  16. 13 Feb, 2007 2 commits
  17. 09 Feb, 2007 1 commit
    • simonpj@microsoft.com's avatar
      Major improvement to SpecConstr · cac2aca1
      simonpj@microsoft.com authored
      This patch improves the SpecConstr pass, by 
        a) making it work with join points
        b) making it generate specialisations transitively
      
      As part of it, SpecConstr now carries a substitution with it, which
      runs over the whole program as it goes.  This turned out to be 
      a big win; simplified the implementation quite a bit.
      
      I have *disabled* the specialisation on lambdas; it's pretty fragile,
      and sometimes generates more and more specialisations. Something to
      come back to, perhaps.
      
      I rejigged the flag-handling a bit.  Now the specification of passes
      in DynFlags is a bit nicer; see
      	- optLevelFlags top-level data structure
      	- runWhen function
      	- CoreDoPasses constructor
      
      There are now command-line flags
      	-fspec-constr
      	-fliberate-case
      	-fspec-threshold=N
      which do the obvious thing.  -O2 switches on both spec-constr and liberate-case.
      You can use -fno-liberate-case, -fno-spec-constr after -O2 to switch them off again.
      
      The spec-threshold applies to both these transformations; default value 200 for now.
      
      
      
      
      cac2aca1