Skip to content
Snippets Groups Projects
  1. Nov 22, 2013
    • Austin Seipp's avatar
      Temporarily lower unfolding threshold on Windows · 9bb909bb
      Austin Seipp authored
      
      This is a very temporary, very unsatisfactory hack to fix #5987
      (for now.)
      
      The included comments essentially say it all: we lower the unfolding
      threshold to minimize some amount of exported symbols from the GHC
      stage2 DLL. I unfortunately had to lower it quite substantially for the
      dynamic stage2 build to pass.
      
      As of this writing, the DLL split between ghc.dll and ghc-0.dll is
      something like 26,000 vs 63,000 exported symbols, respectively. So we're
      still quite in danger of tripping it, but I think we will be OK at this
      exact moment.
      
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      9bb909bb
  2. Oct 25, 2013
  3. Oct 01, 2013
  4. Sep 12, 2013
    • Austin Seipp's avatar
      Implement the AMP warning (#8004) · 75a9664a
      Austin Seipp authored
      
      This patch implements a warning when definitions conflict with the
      Applicative-Monad Proposal (AMP), described in #8004. Namely, this will
      cause a warning iff:
      
          * You have an instance of Monad, but not Applicative
          * You have an instance of MonadPlus, but not Alternative
          * You locally defined a function named join, <*>, or pure.
      
      In GHC 7.10, these warnings will actually be enforced with superclass
      constraints through changes in base, so programs will fail to compile
      then.
      
      This warning is enabled by default. Unfortunately, not all of
      our upstream libraries have accepted the appropriate patches. So we
      temporarily fix ./validate by ignoring the AMP warning.
      
      Dan Rosén made an initial implementation of this change, and the
      remaining work was finished off by David Luposchainsky. I finally made
      some minor refactorings.
      
      Authored-by: default avatarDan Rosén <danr@chalmers.se>
      Authored-by: default avatarDavid Luposchainsky <dluposchainsky@gmail.com>
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      75a9664a
  5. Sep 04, 2013
    • Austin Seipp's avatar
      Make sure -fcmm-sink is passed to Parser properly · 9e133b9d
      Austin Seipp authored
      
      Parser.hs needs to be compiled with -fcmm-sink on x86 platforms, so the
      register allocator doesn't run out of stack slots. Previously, we had to
      do some CPP hacks in order to emit an #ifdef into the file - this is
      because we preprocess it once up front, and run the preprocessor again
      when we compile it.
      
      There's two cases: the boostrap compiler is > 7.8, and the stage1 parser
      needs the flag, or the stage1 compiler is compiling the stage2
      Parser.hs, and needs the flag..
      
      The previous approach was super fragile with Clang. The more principled
      fix is to instead do this through the build system.
      
      This fixes #8182.
      
      Signed-off-by: default avatarAustin Seipp <aseipp@pobox.com>
      9e133b9d
    • Herbert Valerio Riedel's avatar
      Hack-fix build breakage on Linux/GCC from fc4856f9 · 5a3918fe
      Herbert Valerio Riedel authored
      For some reason, the new `GccIsClang` variable introduced via
      fc4856f9 for addressing #8148
      isn't set explicitly to `NO`; so this simply changes the test
      `ifeq $(GccIsClang) NO` to `ifneq $(GccIsClang) YES` which
      should fix the build with and w/o Clang.
      5a3918fe
    • chak@cse.unsw.edu.au.'s avatar
      Make validate play nice with clang (for Xcode 5 command line tools) · fc4856f9
      chak@cse.unsw.edu.au. authored
      * This partially fixes #8148. However, --with-ghc-4.8 will still not work given the rather dubious m4 macros and the failures in the test suite due to '-nodefaultlibs' still need to be fixed.
      fc4856f9
  6. Sep 03, 2013
  7. Aug 24, 2013
  8. Aug 14, 2013
  9. Aug 05, 2013
  10. Jul 03, 2013
    • Ian Lynagh's avatar
      Change the ranlib detection · c548fec4
      Ian Lynagh authored
      On Windows, the ranlib in the path may not be the right ranlib (it may
      be the 32bit ranlib when we are making a Win64 compiler, or vice-versa).
      Therefore we can't leave it up to libffi to detect the right ranlib, but
      need to tell it which ranlib to use. This means that we need to find
      ranlib even if we don't actually need it ourselves.
      c548fec4
  11. Jul 02, 2013
  12. Jun 19, 2013
  13. Jun 17, 2013
  14. Jun 14, 2013
  15. Jun 09, 2013
  16. May 31, 2013
  17. May 30, 2013
  18. May 04, 2013
  19. Apr 27, 2013
  20. Apr 21, 2013
  21. Apr 20, 2013
  22. Apr 03, 2013
  23. Mar 29, 2013
    • nfrisby's avatar
      ticky enhancements · 460abd75
      nfrisby authored
        * the new StgCmmArgRep module breaks a dependency cycle; I also
          untabified it, but made no real changes
      
        * updated the documentation in the wiki and change the user guide to
          point there
      
        * moved the allocation enters for ticky and CCS to after the heap check
      
          * I left LDV where it was, which was before the heap check at least
            once, since I have no idea what it is
      
        * standardized all (active?) ticky alloc totals to bytes
      
        * in order to avoid double counting StgCmmLayout.adjustHpBackwards
          no longer bumps ALLOC_HEAP_ctr
      
        * I resurrected the SLOW_CALL counters
      
          * the new module StgCmmArgRep breaks cyclic dependency between
            Layout and Ticky (which the SLOW_CALL counters cause)
      
          * renamed them SLOW_CALL_fast_<pattern> and VERY_SLOW_CALL
      
        * added ALLOC_RTS_ctr and _tot ticky counters
      
          * eg allocation by Storage.c:allocate or a BUILD_PAP in stg_ap_*_info
      
          * resurrected ticky counters for ALLOC_THK, ALLOC_PAP, and
            ALLOC_PRIM
      
          * added -ticky and -DTICKY_TICKY in ways.mk for debug ways
      
        * added a ticky counter for total LNE entries
      
        * new flags for ticky: -ticky-allocd -ticky-dyn-thunk -ticky-LNE
      
          * all off by default
      
          * -ticky-allocd: tracks allocation *of* closure in addition to
             allocation *by* that closure
      
          * -ticky-dyn-thunk tracks dynamic thunks as if they were functions
      
          * -ticky-LNE tracks LNEs as if they were functions
      
        * updated the ticky report format, including making the argument
          categories (more?) accurate again
      
        * the printed name for things in the report include the unique of
          their ticky parent as well as if they are not top-level
      460abd75
  24. Mar 20, 2013
    • Ian Lynagh's avatar
      Fix build with non-Linux ELF OSes · 51bf3653
      Ian Lynagh authored
      We were only setting an RPATH for the RTS DLL on Linux, but as far
      as I can see we should be doing it for all ELF OSes. Hopefully this
      will fix the problem where the installed ghc-pkg can't find libffi.dll
      on FreeBSD.
      51bf3653
  25. Mar 19, 2013
  26. Mar 17, 2013
  27. Mar 15, 2013
  28. Mar 10, 2013
  29. Mar 04, 2013
Loading