1. 18 Jun, 2011 1 commit
    • dterei's avatar
      SafeHaskell: Transitively check safety when compiling a module. · 77d85a4a
      dterei authored
      While we previously checked the safety of safe imported modules we
      didn't do this check transitively. This can be a problem when we depend
      on a trustworthy module in a package that is no longer trusted, so we
      should fail compilation. We already stored in an interface file the
      transitive list of packages a module depends on. Now we extend that list
      to include a flag saying if we depend on that package being trusted as
      well.
      77d85a4a
  2. 16 Jun, 2011 1 commit
    • Simon Peyton Jones's avatar
      Add dynamically-linked plugins (see Trac #3843) · 592def09
      Simon Peyton Jones authored
      This patch was originally developed by Max Bolingbroke, and worked on
      further by Austin Seipp.  It allows you to write a Core-to-Core pass
      and have it dynamically linked into an otherwise-unmodified GHC, and
      run at a place you specify in the Core optimisation pipeline.
      
      Main components:
        - CoreMonad: new types Plugin, PluginPass
                     plus a new constructor CoreDoPluginPass in CoreToDo
      
        - SimplCore: stuff to dynamically load any plugins, splice
          them into the core-to-core pipeline, and invoke them
      
        - Move "getCoreToDo :: DynFlags -> [CoreToDo]"
            which constructs the main core-to-core pipeline
            from CoreMonad to SimplCore
          SimplCore is the driver for the optimisation pipeline, and it
          makes more sense to have the pipeline construction in the driver
          not in the infrastructure module.
      
        - New module DynamicLoading: invoked by SimplCore to load any plugins
          Some consequential changes in Linker.
      
        - New module GhcPlugins: this should be imported by plugin modules; it
          it not used by GHC itself.
      592def09
  3. 03 Apr, 2011 1 commit
  4. 13 Dec, 2010 1 commit
  5. 27 Nov, 2010 1 commit
  6. 06 Oct, 2010 1 commit
  7. 20 Sep, 2010 2 commits
  8. 14 Sep, 2010 1 commit
    • Ian Lynagh's avatar
      Remove (most of) the FiniteMap wrapper · e95ee1f7
      Ian Lynagh authored
      We still have
          insertList, insertListWith, deleteList
      which aren't in Data.Map, and
          foldRightWithKey
      which works around the fold(r)WithKey addition and deprecation.
      e95ee1f7
  9. 13 Sep, 2010 1 commit
  10. 27 Jul, 2010 1 commit
  11. 09 Jul, 2010 1 commit
  12. 20 Mar, 2010 1 commit
  13. 03 Jan, 2010 1 commit
  14. 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
  15. 08 Sep, 2009 1 commit
  16. 24 Aug, 2009 1 commit
  17. 20 Aug, 2009 2 commits
  18. 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
  19. 02 Aug, 2009 1 commit
  20. 07 Jul, 2009 1 commit
  21. 01 Jul, 2009 1 commit
  22. 13 Mar, 2009 1 commit
  23. 07 Nov, 2008 1 commit
  24. 15 Sep, 2008 1 commit
  25. 03 Sep, 2008 1 commit
    • Simon Marlow's avatar
      Windows: print an error message in addDLL · b9110541
      Simon Marlow authored
      Also, look for libXXX.dll in addition to XXX.dll (see #1883, this
      isn't really a proper fix, but it'll help in some cases).
      And I tidied up the error message for a DLL load failure, though it's
      still a bit of a mess because addDLL is supposed to return a (static)
      string with the error message, but this isn't possible on Windows.
      b9110541
  26. 13 Aug, 2008 1 commit
  27. 31 Jul, 2008 1 commit
  28. 30 Jul, 2008 1 commit
  29. 24 Jul, 2008 1 commit
  30. 11 Jul, 2008 1 commit
  31. 26 Jun, 2008 1 commit
  32. 14 Jun, 2008 7 commits