1. 26 Aug, 2015 10 commits
  2. 25 Aug, 2015 2 commits
  3. 24 Aug, 2015 1 commit
  4. 21 Aug, 2015 8 commits
    • rpglover64's avatar
      Check options before warning about source imports. · a5061a96
      rpglover64 authored
      Summary: Fixes T10637
      
      Reviewers: austin, bgamari, thomie
      
      Subscribers: dfordivam, simonpj, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1157
      
      GHC Trac Issues: #10637
      a5061a96
    • thomie's avatar
      Build system: delete unused distrib/Makefile · a1c008b3
      thomie authored
      a1c008b3
    • thomie's avatar
      Build system: simplify install.mk.in · 47493e60
      thomie authored
      This will allow fixing #1851 more easily
      ("make install-strip" should work).
      
      This reverts 57e2a81c:
        "On Cygwin, use a Cygwin-style path for /bin/install's destination"
      
      Update submodule haddock and hsc2hs.
      47493e60
    • thomie's avatar
      Refactor: delete most of the module FastTypes · 2f29ebbb
      thomie authored
      This reverses some of the work done in #1405, and goes back to the
      assumption that the bootstrap compiler understands GHC-haskell.
      
      In particular:
        * use MagicHash instead of _ILIT and _CLIT
        * pattern matching on I# if possible, instead of using iUnbox
          unnecessarily
        * use Int#/Char#/Addr# instead of the following type synonyms:
          - type FastInt   = Int#
          - type FastChar  = Char#
          - type FastPtr a = Addr#
        * inline the following functions:
          - iBox           = I#
          - cBox           = C#
          - fastChr        = chr#
          - fastOrd        = ord#
          - eqFastChar     = eqChar#
          - shiftLFastInt  = uncheckedIShiftL#
          - shiftR_FastInt = uncheckedIShiftRL#
          - shiftRLFastInt = uncheckedIShiftRL#
        * delete the following unused functions:
          - minFastInt
          - maxFastInt
          - uncheckedIShiftRA#
          - castFastPtr
          - panicDocFastInt and pprPanicFastInt
        * rename panicFastInt back to panic#
      
      These functions remain, since they actually do something:
        * iUnbox
        * bitAndFastInt
        * bitOrFastInt
      
      Test Plan: validate
      
      Reviewers: austin, bgamari
      
      Subscribers: rwbarton
      
      Differential Revision: https://phabricator.haskell.org/D1141
      
      GHC Trac Issues: #1405
      2f29ebbb
    • thomie's avatar
      Delete FastBool · 3452473b
      thomie authored
      This reverses some of the work done in Trac #1405, and assumes GHC is
      smart enough to do its own unboxing of booleans now.
      
      I would like to do some more performance measurements, but the code
      changes can be reviewed already.
      
      Test Plan:
      With a perf build:
      ./inplace/bin/ghc-stage2 nofib/spectral/simple/Main.hs -fforce-recomp
      +RTS -t --machine-readable
      
      before:
      ```
        [("bytes allocated", "1300744864")
        ,("num_GCs", "302")
        ,("average_bytes_used", "8811118")
        ,("max_bytes_used", "24477464")
        ,("num_byte_usage_samples", "9")
        ,("peak_megabytes_allocated", "64")
        ,("init_cpu_seconds", "0.001")
        ,("init_wall_seconds", "0.001")
        ,("mutator_cpu_seconds", "2.833")
        ,("mutator_wall_seconds", "4.283")
        ,("GC_cpu_seconds", "0.960")
        ,("GC_wall_seconds", "0.961")
        ]
      ```
      
      after:
      ```
        [("bytes allocated", "1301088064")
        ,("num_GCs", "310")
        ,("average_bytes_used", "8820253")
        ,("max_bytes_used", "24539904")
        ,("num_byte_usage_samples", "9")
        ,("peak_megabytes_allocated", "64")
        ,("init_cpu_seconds", "0.001")
        ,("init_wall_seconds", "0.001")
        ,("mutator_cpu_seconds", "2.876")
        ,("mutator_wall_seconds", "4.474")
        ,("GC_cpu_seconds", "0.965")
        ,("GC_wall_seconds", "0.979")
        ]
      ```
      
      CPU time seems to be up a bit, but I'm not sure. Unfortunately CPU time
      measurements are rather noisy.
      
      Reviewers: austin, bgamari, rwbarton
      
      Subscribers: nomeata
      
      Differential Revision: https://phabricator.haskell.org/D1143
      
      GHC Trac Issues: #1405
      3452473b
    • Ben Gamari's avatar
      Implement getSizeofMutableByteArrayOp primop · 9e8562ae
      Ben Gamari authored
      Now since ByteArrays are mutable we need to be more explicit about when
      the size is queried.
      
      Test Plan: Add testcase and validate
      
      Reviewers: goldfire, hvr, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1139
      
      GHC Trac Issues: #9447
      9e8562ae
    • Ben Gamari's avatar
      Bag: Add Foldable instance · 0d0e651d
      Ben Gamari authored
      0d0e651d
    • Ben Gamari's avatar
      GhcMake: Fix spelling in comment · a146b282
      Ben Gamari authored
      a146b282
  5. 20 Aug, 2015 2 commits
  6. 18 Aug, 2015 6 commits
  7. 17 Aug, 2015 2 commits
    • Sergei Trofimovich's avatar
      Make rts/ThreadLabels.c threadsafe for debug runtime. · 74897dec
      Sergei Trofimovich authored
      rts/ThreadLabels.c has a global hashtable for each
      running haskell thread. It's not synchronized across
      OS threads.
      
      Was discovered when ran -debug build of ghc itself as:
      
          $ ghc-stage2 -j8 +RTS -A256M -l
      
      and glibc detected double-free corruption:
      
          #2  in __libc_message (do_abort=do_abort@entry=2,
              fmt=fmt@entry=0x7fe0bcebf368 "*** Error in `%s': %s: 0x%s ***\n")
          #3  in malloc_printerr (action=3, str=0x7fe0bcebf4c0 "double free or corruption (fasttop)",
              ptr=<optimized out>)
          #4  in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0)
          #5  in stgFree (p=0x7fe060001820) at rts/RtsUtils.c:108
          #6  in freeHashTable (table=0x5929320, freeDataFun=0x36374df <stgFree>) at rts/Hash.c:360
          #7  in freeThreadLabelTable () at rts/ThreadLabels.c:37
          #8  in hs_exit_ (wait_foreign=rtsFalse) at rts/RtsStartup.c:403
          #9  in shutdownHaskellAndExit (n=0, fastExit=0) at rts/RtsStartup.c:481
          #10 in hs_main (...) at rts/RtsMain.c:91
          #11 in main (...) at ghc/hschooks.c:63
      
      Exposed itself after commit:
      
      > commit f6866824
      
      
      > Author: Sergei Trofimovich <slyfox@gentoo.org>
      > Date:   Mon Aug 4 08:10:33 2014 -0500
      >
      >     ghc --make: add nicer names to RTS threads (threaded IO manager, make workers)
      Signed-off-by: default avatarSergei Trofimovich <siarheit@google.com>
      
      Reviewers: austin, simonmar, ezyang, bgamari
      
      Reviewed By: ezyang, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1146
      74897dec
    • thomie's avatar
      e367e272
  8. 15 Aug, 2015 4 commits
  9. 13 Aug, 2015 2 commits
  10. 12 Aug, 2015 3 commits
    • Ben Gamari's avatar
      SysTools: Fix whitespace in error message · 8c5b087b
      Ben Gamari authored
      8c5b087b
    • Ben Gamari's avatar
      Update mingw tarball location · e415369e
      Ben Gamari authored
      e415369e
    • Tamar Christina's avatar
      Upgrade GCC to 5.2.0 for Windows x86 and x86_64 · 7b211b4e
      Tamar Christina authored
      This patch does a few things
      
      - Moved GHC x86 to MinGW-w64 (Using Awson's patch)
      - Moves Both GHCs to MSYS2 toolchains
      - Completely removes the dependencies on the git tarball repo
        - Downloads only the required tarball for the architecture for
          which we are building
        - Downloads the perl tarball is missing as well
        - Fixed a few bugs in the linker to fix tests on Windows
      
      The links currently point to repo.msys2.org and GitHub, it might be
      more desirable to mirror them on
      http://downloads.haskell.org/~ghc/mingw/ as with the previous patch
      attempt.
      
      For more details on what the MSYS2 packages I include see #10726
      (Awson's comment). but it should contain all we need
      and no python or fortran, which makes the uncompressed tar a 1-2
      hundreds mb smaller.
      
      The `GCC 5.2.0` in the package supports `libgcc` as a shared library,
      this is a problem since
      when compiling with -shared the produced dll now has a dependency on
      `libgcc_s_sjlj-1.dll`.
      To solve this the flag `-static-libgcc` is now being used for all GCC
      calls on windows.
      
      Test Plan:
      ./validate was ran both on x86 and x86_64 windows and compared against
      the baseline.
      
      A few test were failing due to Ld no longer being noisy. These were
      updated.
      
      The changes to the configure script *should* be validated by the build
      bots for the other platforms before landing
      
      Reviewers: simonmar, awson, bgamari, austin, thomie
      
      Reviewed By: thomie
      
      Subscribers: #ghc_windows_task_force, thomie, awson
      
      Differential Revision: https://phabricator.haskell.org/D1123
      
      GHC Trac Issues: #10726, #9014, #9218, #10435
      7b211b4e