1. 09 Jul, 2010 1 commit
  2. 06 Apr, 2010 1 commit
  3. 20 Mar, 2010 1 commit
  4. 04 Jan, 2010 1 commit
  5. 02 Jan, 2010 1 commit
  6. 03 Jan, 2010 1 commit
  7. 04 Nov, 2009 1 commit
    • Simon Marlow's avatar
      #3604: treat TH with -dynamic in the same way as -prof · 86b891f0
      Simon Marlow authored
      That is, you have to build the library/program without -dynamic first,
      to get plain object files, and then build it again with -dynamic.
      
      I still need to check whether any changes to Cabal are required to
      make this work.
      86b891f0
  8. 18 Sep, 2009 1 commit
  9. 08 Sep, 2009 1 commit
  10. 28 Aug, 2009 1 commit
  11. 24 Aug, 2009 1 commit
  12. 20 Aug, 2009 1 commit
  13. 24 Aug, 2009 1 commit
  14. 20 Aug, 2009 1 commit
  15. 17 Aug, 2009 1 commit
    • Thomas Schilling's avatar
      Make the dynamic linker thread-safe. · 4fa44a3a
      Thomas Schilling authored
        
      The current implementation is rather pessimistic.  The persistent
      linker state is now an MVar and all exported Linker functions are
      wrapped in modifyMVar calls.  This is serves as a big lock around all
      linker functions.
      
      There might be a chance for more concurrency in a few places. E.g.,
      extending the closure environment and loading packages might be
      independent in some cases.  But for now it's better to be on the safe
      side.
      4fa44a3a
  16. 05 Aug, 2009 1 commit
  17. 02 Aug, 2009 2 commits
    • Simon Marlow's avatar
      remove unnecessary -#include options · cebd90f3
      Simon Marlow authored
      cebd90f3
    • Simon Marlow's avatar
      RTS tidyup sweep, first phase · a2a67cd5
      Simon Marlow authored
      The first phase of this tidyup is focussed on the header files, and in
      particular making sure we are exposinng publicly exactly what we need
      to, and no more.
      
       - Rts.h now includes everything that the RTS exposes publicly,
         rather than a random subset of it.
      
       - Most of the public header files have moved into subdirectories, and
         many of them have been renamed.  But clients should not need to
         include any of the other headers directly, just #include the main
         public headers: Rts.h, HsFFI.h, RtsAPI.h.
      
       - All the headers needed for via-C compilation have moved into the
         stg subdirectory, which is self-contained.  Most of the headers for
         the rest of the RTS APIs have moved into the rts subdirectory.
      
       - I left MachDeps.h where it is, because it is so widely used in
         Haskell code.
       
       - I left a deprecated stub for RtsFlags.h in place.  The flag
         structures are now exposed by Rts.h.
      
       - Various internal APIs are no longer exposed by public header files.
      
       - Various bits of dead code and declarations have been removed
      
       - More gcc warnings are turned on, and the RTS code is more
         warning-clean.
      
       - More source files #include "PosixSource.h", and hence only use
         standard POSIX (1003.1c-1995) interfaces.
      
      There is a lot more tidying up still to do, this is just the first
      pass.  I also intend to standardise the names for external RTS APIs
      (e.g use the rts_ prefix consistently), and declare the internal APIs
      as hidden for shared libraries.
      a2a67cd5
  18. 03 Aug, 2009 1 commit
  19. 01 Aug, 2009 3 commits
  20. 30 Jul, 2009 2 commits
  21. 29 Jul, 2009 1 commit
  22. 28 Jul, 2009 1 commit
  23. 22 Jul, 2009 1 commit
  24. 07 Jul, 2009 1 commit
  25. 06 Jul, 2009 1 commit
  26. 01 Jul, 2009 1 commit
  27. 23 Jun, 2009 1 commit
  28. 29 May, 2009 1 commit
  29. 28 May, 2009 1 commit
  30. 29 Apr, 2009 1 commit
  31. 24 Apr, 2009 1 commit
  32. 21 Apr, 2009 1 commit
    • Simon Marlow's avatar
      FIX #2682: banish silly cases of the "module Foo is not loaded" error · ef03a76a
      Simon Marlow authored
      In GHCi if you say 'import Foo' meaning to load a package module Foo,
      and Foo.hs is found on the search path, then GHCi replies "module Foo
      is not loaded", because it knows Foo refers to the source file rather
      than the package module, and you haven't loaded that module with
      :load.
      
      This is consistent with the usual module-finding semantics.  However,
      it isn't particularly useful.  And it leads to silly problems like not
      being able to start GHCi when you happen to be sitting in
      libraries/base, because GHCi thinks the Prelude hasn't been loaded.
      
      So now I've made a slight change to the way that 'import M' works: if
      M is loaded, then it refers to the loaded module, otherwise it looks
      for a package module M.  This does what the reporter of #2682 wanted,
      and since it turns an error condition into meaningful behaviour it
      can't break anything.  
      
      The only undesirable consequence is that 'import M' might refer to a
      different M than ':load M'.  Hopefully that won't lead to confusion.
      ef03a76a
  33. 20 Apr, 2009 1 commit
    • Simon Marlow's avatar
      FIX #2845: Allow breakpoints on expressions with unlifted type · 709c9ce0
      Simon Marlow authored
      It turns out we can easily support breakpoints on expressions with
      unlifted types, by translating 
      
        case tick# of _ -> e
      
      into
      
        let f = \s . case tick# of _ -> e 
        in  f realWorld#
      
      instead of just a plain let-binding.  This is the same trick that GHC
      uses for abstracting join points of unlifted type.
      
      In #2845, GHC has eta-expanded the tick expression, changing the
      result type from IO a to (# State#, a #), which was the reason the
      tick was suddenly being ignored.  By supporting ticks on unlifted
      expressions we can make it work again, although some confusion might
      arise because _result will no longer be available (it now has
      unboxed-tuple type, so we can't bind it in the environment).  The
      underlying problem here is that GHC does transformations like
      eta-expanding the tick expressions, and there's nothing we can do to
      prevent that.
      709c9ce0
  34. 19 Apr, 2009 1 commit
  35. 18 Apr, 2009 1 commit
    • mnislaih's avatar
      Fix Trac #2611 · 840554d7
      mnislaih authored
      Fix a bug in :print affecting data types with unboxed components
      840554d7
  36. 13 Mar, 2009 1 commit