1. 06 Feb, 2015 1 commit
  2. 05 Feb, 2015 6 commits
  3. 04 Feb, 2015 1 commit
    • Simon Marlow's avatar
      Fix a profiling bug · daed18c3
      Simon Marlow authored
      Summary:
      We were erroneously discarding SCCs on function-typed variables.
      These can affect the call stack, so we have to retain them.  The bug
      was introduced during the recent SourceNote refactoring.
      
      This is an alternative to the fix proposed in D616.  I also added the
      scc005 test from that diff, which works with this change.
      
      While I was here, I also fixed up the other profiling tests, marking a
      few as expect_broken_for(10037) where the opt/unopt output differs in
      non-fatal ways.
      
      Test Plan: profiling tests
      
      Reviewers: scpmw, ezyang, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D636
      
      GHC Trac Issues: #10007
      daed18c3
  4. 02 Feb, 2015 1 commit
    • AndreasVoellmy's avatar
      Fix #10017 · 92c93544
      AndreasVoellmy authored
      Summary:
      In the threaded RTS, a signal is delivered from the RTS to Haskell
      user code by writing to file that one of the IO managers watches (via
      an instance of GHC.Event.Control.Control). When the IO manager
      receives the signal, it calls GHC.Conc.Signal.runHandlers to invoke
      Haskell signal handler. In the move from a single IO manager to one IO
      manager per capability, the behavior was (wrongly) extended so that a
      signal is delivered to every event manager (see #9423), each of which
      invoke Haskell signal handlers, leading to multiple invocations of
      Haskell signal handlers for a single signal. This change fixes this
      problem by having the RTS (in generic_handler()) notify only the
      Control instance used by the TimerManager, rather than all the
      per-capability IO managers.
      
      Reviewers: austin, hvr, simonmar, Mikolaj
      
      Reviewed By: simonmar, Mikolaj
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D641
      92c93544
  5. 28 Jan, 2015 3 commits
  6. 27 Jan, 2015 2 commits
  7. 26 Jan, 2015 1 commit
  8. 23 Jan, 2015 3 commits
    • David Feuer's avatar
      Revert zipWith strictification (re #9949) · f44bbc83
      David Feuer authored
      Also remove foldr2/right rule to avoid possibly introducing
      bottoms with rules.
      
      This effectively reverts most of 488e95b4
      
      Reviewed By: nomeata
      
      Differential Revision: https://phabricator.haskell.org/D602
      f44bbc83
    • Herbert Valerio Riedel's avatar
      Revert "Update Haddock submodule" · febee92c
      Herbert Valerio Riedel authored
      This reverts commit 34d68d8e
      as it breaks the build:
      
        Configuring hsc2hs-0.67...
        Configuring ghc-cabal-0.1...
        Configuring parallel-3.2.0.6...
        Configuring hpc-bin-0.67...
        Configuring haddock-2.16.0...
        ghc-cabal: At least the following dependencies are missing:
        ghc >=7.9 && <7.11
        make[1]: *** [utils/haddock/dist/package-data.mk] Error 1
        make[1]: *** Waiting for unfinished jobs....
          GHC PKG libraries/parallel/dist-install/package-data.mk
        Reading package info from "libraries/parallel/dist-install/inplace-pkg-config" ... done.
        parallel-3.2.0.6: Warning: haddock-interfaces: /srv/builds/commits/rGHC/B3035-34d68d8e/libraries/parallel/dist-install/doc/html/parallel/parallel.haddock doesn't exist or isn't a file
        parallel-3.2.0.6: cannot find any of ["Control/Seq.hi","Control/Seq.p_hi","Control/Seq.dyn_hi"] (ignoring)
        parallel-3.2.0.6: cannot find any of ["Control/Parallel.hi","Control/Parallel.p_hi","Control/Parallel.dyn_hi"] (ignoring)
        parallel-3.2.0.6: cannot find any of ["Control/Parallel/Strategies.hi","Control/Parallel/Strategies.p_hi","Control/Parallel/Strategies.dyn_hi"] (ignoring)
        parallel-3.2.0.6: cannot find any of ["libHSparal_791B1zx5CJ25cUOFECtmw0.a","libHSparal_791B1zx5CJ25cUOFECtmw0.p_a","libHSparal_791B1zx5CJ25cUOFECtmw0-ghc7.11.20150123.so","libHSparal_791B1zx5CJ25cUOFECtmw0-ghc7.11.20150123.dylib","HSparal_791B1zx5CJ25cUOFECtmw0-ghc7.11.20150123.dll"] on library path (ignoring)
        make: *** [all] Error 2
      
      Moreover, utils/haddock is supposed to track the `ghc-head` branch
      (which is what `git submodule update --remote utils/haddock` helps with)
      febee92c
    • Mateusz Kowalczyk's avatar
      Update Haddock submodule · 34d68d8e
      Mateusz Kowalczyk authored
      34d68d8e
  9. 22 Jan, 2015 6 commits
  10. 21 Jan, 2015 3 commits
  11. 20 Jan, 2015 8 commits
  12. 19 Jan, 2015 5 commits
    • Sergei Trofimovich's avatar
      CMM: add a mechanism to import C .data labels · d82f5925
      Sergei Trofimovich authored
      Summary:
      This introduces new .cmm syntax for import:
      
          'import' 'CLOSURE' <identifier>;
      
      Currently cmm syntax allows importing only function labels:
      
          import pthread_mutex_lock;
      
      but sometimes ghc needs to import global gariables
      or haskell closures:
      
          import ghczmprim_GHCziTypes_True_closure;
          import base_ControlziExceptionziBase_nestedAtomically_closure;
          import ghczmprim_GHCziTypes_False_closure;
          import sm_mutex;
      
      It breaks on ia64 where there is a difference in
      pointers to data and pointer to functions.
      
      Patch fixes threaded runtime on ia64 where
      dereference of 'sm_mutex' from CMM led to
      incurrect location.
      
      Exact breakage machanics are the same as in e18525fa
      
      Merge into the 7.10 branch
      Signed-off-by: default avatarSergei Trofimovich <siarheit@google.com>
      
      Test Plan: passes ./validate, makes ghci work on ghc-7.8.4
      
      Reviewers: simonmar, simonpj, austin
      
      Reviewed By: austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D622
      d82f5925
    • Eric Seidel's avatar
      Expose source locations via Implicit Parameters of type GHC.Location.Location · c024af13
      Eric Seidel authored
      Summary:
      IPs with this type will always be solved for the current source
      location. If another IP of the same type is in scope, the two locations will be
      appended, creating a call-stack. The Location type is kept abstract so users
      cannot create them, but a Location can be turned into a list of SrcLocs, which
      correspond to individual locations in a program. Each SrcLoc contains a
      package/module/file name and start/end lines and columns.
      
      The only thing missing from the SrcLoc in my opinion is the name of the
      top-level definition it inhabits. I suspect that would also be useful, but it's
      not clear to me how to extract the current top-level binder from within the
      constraint solver. (Surely I'm just missing something here?)
      
      I made the (perhaps controversial) decision to have GHC completely ignore
      the names of Location IPs, meaning that in the following code:
      
          bar :: (?myloc :: Location) => String
          bar = foo
      
          foo :: (?loc :: Location) => String
          foo = show ?loc
      
      if I call `bar`, the resulting call-stack will include locations for
      
      1. the use of `?loc` inside `foo`,
      2. `foo`s call-site inside `bar`, and
      3. `bar`s call-site, wherever that may be.
      
      This makes Location IPs very special indeed, and I'm happy to change it if the
      dissonance is too great.
      
      I've also left out any changes to base to make use of Location IPs, since there
      were some concerns about a snowball effect. I think it would be reasonable to
      mark this as an experimental feature for now (it is!), and defer using it in
      base until we have more experience with it. It is, after all, quite easy to
      define your own version of `error`, `undefined`, etc. that use Location IPs.
      
      Test Plan: validate, new test-case is testsuite/tests/typecheck/should_run/IPLocation.hs
      
      Reviewers: austin, hvr, simonpj
      
      Reviewed By: simonpj
      
      Subscribers: simonmar, rodlogic, carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D578
      
      GHC Trac Issues: #9049
      c024af13
    • Edward Z. Yang's avatar
      Upgrade Cabal submodule to latest HEAD, change to package key calculation. · c77eecdc
      Edward Z. Yang authored
      Summary:
      One notable change is that the package key calculation algorithm in Cabal
      has changed (from an undocumented format based on Show instances to a fully
      specified format), so you will need to do a full rebuild.
      
      I'd greatly prefer if this could be merged to 7.10.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: austin
      
      Subscribers:
      
      GHC Trac Issues:
      c77eecdc
    • Edward Z. Yang's avatar
      Respect package visibility when deciding wired in packages. · 1f159519
      Edward Z. Yang authored
      Summary:
      Previously, we would consider ALL versions of a wired-in package,
      no matter if they were exposed or not, and pick the latest version.
      This patch is a minor refinement on the behavior: now we try to
      pick the wired in package from just the list of exposed packages,
      and if there are no candidates fall back on the full list.  This
      means that if you do:
      
          -hide-all-packages -package wired-in-OLD-VERSION
      
      it will actually work by default (whereas previously you needed
      to *explicitly* -ignore-package the newer version).  This is especially
      useful for the 'ghc' package.  Fixes #9955.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: simonpj, austin
      
      Reviewed By: austin
      
      Subscribers: carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D603
      
      GHC Trac Issues: #9955
      1f159519
    • Simon Peyton Jones's avatar
      Tidy up fix to Trac #9999 · d3c08ca0
      Simon Peyton Jones authored
      Minor refactoring only
      d3c08ca0