1. 20 Nov, 2017 6 commits
  2. 19 Nov, 2017 1 commit
  3. 18 Nov, 2017 6 commits
    • Andrew Martin's avatar
    • niteria's avatar
      Fix T4437 · 912a72d2
      niteria authored
      This test tests if the flags are in sync between GHC and
      After b0b80e90 'Implement the basics of hex floating point
      literals' landed, the Cabal side had to be updated. That
      has been done, and 835d8ddb 'GHC.Prim use virtual-modules'
      brought the Cabal submodule up to date.
    • Moritz Angermann's avatar
      Fix rts.cabal.in · 74070bbb
      Moritz Angermann authored
      Overlap with commit 2f463873, resulted in `hooks/LongGCSync.c`
      missing from the `rts.cabal.in` file.  As the `rts.cabal` file is only
      used by hadrian, this did not trigger with the make base build
      system which can do globbing.
      Also ignore the `rts.cabal` file, as it's generated by configure
      from the `rts.cabal.in`.
    • Moritz Angermann's avatar
      Relocatable GHC · bb11a2d9
      Moritz Angermann authored
      GHC and the binary distribution that's produced is
      not relocatable outside of Windows.  This diff tries to
      address this for at least Linux and macOS.
      Reviewers: austin, hvr, bgamari, erikd, goldfire, Phyx
      Reviewed By: bgamari
      Subscribers: duog, rwbarton, thomie, erikd
      Differential Revision: https://phabricator.haskell.org/D4121
    • Moritz Angermann's avatar
      GHC.Prim use virtual-modules · 835d8ddb
      Moritz Angermann authored
      Stop the GHC.Prim madness with `virtual-module` support from cabal.
      Needs https://github.com/haskell/cabal/pull/4875.
      Bumps submodule libraries/Cabal to include the necessary logic for `virtual-module`.
      Reviewers: bgamari
      Reviewed By: bgamari
      Subscribers: rwbarton, thomie
      Differential Revision: https://phabricator.haskell.org/D4179
    • Moritz Angermann's avatar
      Adds -ghc-version flag to ghc. · 12a74444
      Moritz Angermann authored
      When building the rts with ghc (e.g. using ghc as a c compiler), ghc's
      "Value Add"[1] is, it includes adding `-include /path/to/ghcversion.h`.  For
      this it looksup the rts package in the package database, which--if
      empty--fails.  Thus to allow compiling C files with GHC, we add the
      `-ghc-version` flag, which takes the path to the `ghcversion.h` file.
      A `-no-ghc-version` flag was omitted, as at that point it becomes
      questionable why one would use ghc to compile c if one doesn't
      any of the added value.
      [1] from `compiler/main/DriverPipeline.hs`
      >        -- add package include paths even if we're just compiling .c
      >        -- files; this is the Value Add(TM) that using ghc instead of
      >        -- gcc gives you :)
      Reviewers: bgamari, geekosaur, austin
      Reviewed By: bgamari
      Subscribers: rwbarton, thomie
      Differential Revision: https://phabricator.haskell.org/D4135
  4. 16 Nov, 2017 3 commits
    • Ben Gamari's avatar
      configure: Fix incorrect quoting · c7297342
      Ben Gamari authored
      This is a regression affecting Windows introduced by
    • Ben Gamari's avatar
      Document -ddump-timings · 2da7813b
      Ben Gamari authored
    • Simon Marlow's avatar
      Detect overly long GC sync · 2f463873
      Simon Marlow authored
      GC sync is the time between a GC being intiated and all the mutator
      threads finally stopping so that the GC can start. Problems that cause
      the GC sync to be delayed are hard to find and can cause dramatic
      slowdowns for heavily parallel programs.
      The new flag --long-gc-sync=<time> helps by emitting a warning and
      calling a user-overridable hook when the GC sync time exceeds the
      specified threshold. A debugger can be used to set a breakpoint when
      this happens and inspect the stacks of threads to find the culprit.
      Test Plan:
      $ ./inplace/bin/ghc-stage2 +RTS --long-gc-sync=0.0000001 -S
          Alloc    Copied     Live     GC     GC      TOT      TOT  Page Flts
          bytes     bytes     bytes   user   elap     user     elap
        1135856     51144    153736  0.000  0.000    0.002    0.002    0    0  (Gen:  0)
        1034760     94704    188752  0.000  0.000    0.002    0.002    0    0  (Gen:  0)
        1038888    134832    228888  0.009  0.009    0.011    0.011    0    0  (Gen:  1)
        1025288     90128    235184  0.000  0.000    0.012    0.012    0    0  (Gen:  0)
        1049088    130080    333984  0.000  0.000    0.013    0.013    0    0  (Gen:  0)
      Warning: waited 0us for GC sync
        1034424     73360    331976  0.000  0.000    0.013    0.013    0    0  (Gen:  0)
      Also tested on a real production problem.
      Reviewers: niteria, bgamari, erikd
      Subscribers: rwbarton, thomie
      Differential Revision: https://phabricator.haskell.org/D4193
  5. 15 Nov, 2017 14 commits
  6. 14 Nov, 2017 3 commits
  7. 11 Nov, 2017 6 commits
  8. 10 Nov, 2017 1 commit