ghc.git
6 years agoAdd support for Template Haskell state. th-new-7.6
Geoffrey Mainland [Tue, 4 Jun 2013 15:29:11 +0000 (16:29 +0100)] 
Add support for Template Haskell state.

6 years agoAdd support for Template Haskell module finalizers.
Geoffrey Mainland [Tue, 4 Jun 2013 13:15:00 +0000 (14:15 +0100)] 
Add support for Template Haskell module finalizers.

Template Haskell module finalizers are run after a module is type checked.

6 years agoChange the types of typed brackets and splices.
Geoffrey Mainland [Tue, 21 May 2013 14:07:09 +0000 (15:07 +0100)] 
Change the types of typed brackets and splices.

The essence of this change is that a TExp a now wraps a TH.Exp instead of a
TH.ExpQ. This means:

 * A typed bracket [||...||] now has type Q (TExp tau), where tau is the type of
   the expression in the bracket.

 * A typed splice $(...)  must contain a value of type Q (TExp tau), and has
   type tau.

Previously, typed brackets had type TExp tau, and typed splices had to contain a
value of type TExp tau.

6 years agoAllow splices to add additional top-level declarations.
Geoffrey Mainland [Tue, 21 May 2013 12:38:15 +0000 (13:38 +0100)] 
Allow splices to add additional top-level declarations.

6 years agoCode formatting cleanup.
Geoffrey Mainland [Tue, 21 May 2013 12:26:02 +0000 (13:26 +0100)] 
Code formatting cleanup.

6 years agoAdd full support for declaration splices.
Geoffrey Mainland [Mon, 20 May 2013 10:37:59 +0000 (11:37 +0100)] 
Add full support for declaration splices.

Since declaration splices are now untyped, they can be used anywhere a
declaration is valid, including in declaration brackets.

6 years agoAdd support for pattern splices.
Geoffrey Mainland [Thu, 16 May 2013 16:18:22 +0000 (17:18 +0100)] 
Add support for pattern splices.

6 years agoClean up smart constructors for splices.
Geoffrey Mainland [Thu, 16 May 2013 15:47:06 +0000 (16:47 +0100)] 
Clean up smart constructors for splices.

6 years agoClean up error context when checking brackets/splices.
Geoffrey Mainland [Thu, 16 May 2013 14:11:36 +0000 (15:11 +0100)] 
Clean up error context when checking brackets/splices.

6 years agoAdd support for typed brackets and splices.
Geoffrey Mainland [Wed, 15 May 2013 16:43:36 +0000 (17:43 +0100)] 
Add support for typed brackets and splices.

6 years agoTrack TH stage in the renamer.
Geoffrey Mainland [Wed, 1 May 2013 16:45:22 +0000 (17:45 +0100)] 
Track TH stage in the renamer.

6 years agoCheck the staging restriction in the renamer.
Geoffrey Mainland [Thu, 25 Apr 2013 13:40:08 +0000 (14:40 +0100)] 
Check the staging restriction in the renamer.

6 years agoTrack the typed/untyped distinction in the current TH stage.
Geoffrey Mainland [Thu, 25 Apr 2013 12:11:23 +0000 (13:11 +0100)] 
Track the typed/untyped distinction in the current TH stage.

Also check for illegal typed/untyped bracket/splice combinations.

6 years agoDifferentiate typed and untyped splices and brackets in the abstract syntax.
Geoffrey Mainland [Wed, 24 Apr 2013 14:31:43 +0000 (15:31 +0100)] 
Differentiate typed and untyped splices and brackets in the abstract syntax.

6 years agoAdd names for TExp type constructor and unType.
Geoffrey Mainland [Wed, 24 Apr 2013 13:33:51 +0000 (14:33 +0100)] 
Add names for TExp type constructor and unType.

6 years agoAdd syntactic support for typed expression brackets and splices.
Geoffrey Mainland [Wed, 24 Apr 2013 12:57:35 +0000 (13:57 +0100)] 
Add syntactic support for typed expression brackets and splices.

Right now the syntax for typed expression brackets and splices maps to
conventional brackets and splices, i.e., they are not typed.

6 years agoConsolidate TH renaming.
Geoffrey Mainland [Wed, 24 Apr 2013 07:41:50 +0000 (08:41 +0100)] 
Consolidate TH renaming.

6 years agoMove renamer splice functionality into a separate module.
Geoffrey Mainland [Tue, 23 Apr 2013 21:10:48 +0000 (22:10 +0100)] 
Move renamer splice functionality into a separate module.

This structure now matches that of the type checker.

6 years agoUntabify
Geoffrey Mainland [Wed, 5 Jun 2013 17:04:56 +0000 (18:04 +0100)] 
Untabify

6 years agoUntabify
Geoffrey Mainland [Wed, 5 Jun 2013 16:47:53 +0000 (17:47 +0100)] 
Untabify

6 years agoUntabify
Geoffrey Mainland [Wed, 5 Jun 2013 12:36:47 +0000 (13:36 +0100)] 
Untabify

6 years agoUntabify
Geoffrey Mainland [Wed, 5 Jun 2013 12:36:26 +0000 (13:36 +0100)] 
Untabify

6 years agoUntabify
Geoffrey Mainland [Wed, 5 Jun 2013 12:36:00 +0000 (13:36 +0100)] 
Untabify

6 years agoUntabify
Geoffrey Mainland [Wed, 5 Jun 2013 12:35:23 +0000 (13:35 +0100)] 
Untabify

6 years agoSet RELEASE back to NO ghc-7.6
Ian Lynagh [Sun, 21 Apr 2013 13:20:52 +0000 (14:20 +0100)] 
Set RELEASE back to NO

6 years agoSet the version number to 7.6.3, and RELEASE to YES. ghc-7.6.3-release
Ian Lynagh [Thu, 18 Apr 2013 22:46:24 +0000 (23:46 +0100)] 
Set the version number to 7.6.3, and RELEASE to YES.

6 years agoAdd release notes for 7.6.3
Ian Lynagh [Thu, 18 Apr 2013 22:46:10 +0000 (23:46 +0100)] 
Add release notes for 7.6.3

6 years agoUpdate ANNOUNCE for 7.6.3
Ian Lynagh [Thu, 18 Apr 2013 22:28:15 +0000 (23:28 +0100)] 
Update ANNOUNCE for 7.6.3

6 years agoMerge 1353d1 into the 7.6 branch
Simon Peyton Jones [Tue, 16 Apr 2013 06:28:27 +0000 (07:28 +0100)] 
Merge 1353d1 into the 7.6 branch

(without this I get an ASSERT failure)

    commit 1353d1ef98603a1bff1f8eb181d1368e934b3647
    Author: Simon Peyton Jones <simonpj@microsoft.com>
    Date:   Thu Dec 20 20:13:36 2012 +0000

    Fix over-zealous ASSERT in TcUnify

6 years agoMerge b737a4 into the 7.6 branch, curing Trac #7748
Simon Peyton Jones [Tue, 16 Apr 2013 06:27:23 +0000 (07:27 +0100)] 
Merge b737a4 into the 7.6 branch, curing Trac #7748

The caching of goals in the constraint solver led to a
equality-constraint loop even in a really simple program!

    commit b737a45391201fd475b89227ed1d7c9b72b24eea
    Author: Simon Peyton Jones <simonpj@microsoft.com>
    Date:   Fri Aug 31 10:05:03 2012 +0100

    More simplifications to the constraint solver

    * inert_solved becomes dictionaries-only, inert_solved_dicts

    * inert_solved_dicts is used only to cache the result of uses
      of a top level instance declaration, just like inert_solved_funeqs

    * That in turn simplifies xCtFlavor and rewriteCtFlavor, because
      they no longer need a "should I cache" parameter.  (Moreover the
      settings for this parameter were very subtle; it's easy to get
      loops if you cache too much.  Caching only top-level instance
      uses is much safer, and eliminates all these subtle cases.)

6 years agoSet RELEASE back to NO
Ian Lynagh [Tue, 29 Jan 2013 18:47:15 +0000 (18:47 +0000)] 
Set RELEASE back to NO

6 years agoTweak the mkDocs script
Ian Lynagh [Tue, 29 Jan 2013 14:26:30 +0000 (14:26 +0000)] 
Tweak the mkDocs script

6 years agoTweak the gen_contents_index script
Ian Lynagh [Tue, 29 Jan 2013 15:59:39 +0000 (15:59 +0000)] 
Tweak the gen_contents_index script

6 years agoTweak ANNONCE ghc-7.6.2-release
Ian Lynagh [Tue, 29 Jan 2013 17:25:24 +0000 (17:25 +0000)] 
Tweak ANNONCE

6 years agoUpdate ANNOUNCE
Ian Lynagh [Tue, 29 Jan 2013 17:22:52 +0000 (17:22 +0000)] 
Update ANNOUNCE

6 years agoSet version number to 7.6.2 and set RELEASE to YES
Ian Lynagh [Sun, 27 Jan 2013 14:00:49 +0000 (14:00 +0000)] 
Set version number to 7.6.2 and set RELEASE to YES

6 years agoExpose genericRaise; fixes signals004(dyn) no OS X 32
Ian Lynagh [Thu, 17 Jan 2013 21:54:06 +0000 (21:54 +0000)] 
Expose genericRaise; fixes signals004(dyn) no OS X 32

6 years agoUse pthread_kill on OS X too
Ian Lynagh [Thu, 17 Jan 2013 19:23:17 +0000 (19:23 +0000)] 
Use pthread_kill on OS X too

Fixes signals004(threaded1,threaded2) on OS X 32.

6 years agoExpose the prototype for getMonotonicNSec
Ian Lynagh [Thu, 17 Jan 2013 15:33:26 +0000 (15:33 +0000)] 
Expose the prototype for getMonotonicNSec

Fixes T3807 on OS X 32.

6 years agoFix typo in docs; spotted by Gabor Greif
Ian Lynagh [Sat, 12 Jan 2013 16:07:03 +0000 (16:07 +0000)] 
Fix typo in docs; spotted by Gabor Greif

6 years agoadd X86_64_GOTTPOFF relocation for errno
Simon Marlow [Mon, 20 Aug 2012 14:13:45 +0000 (15:13 +0100)] 
add X86_64_GOTTPOFF relocation for errno

Submitted by: Markus Pfeiffer <markus.pfeiffer@morphism.de> on cvs-ghc

6 years agoChange RTS hook APIs to match 7.6.1
Ian Lynagh [Sat, 12 Jan 2013 13:40:16 +0000 (13:40 +0000)] 
Change RTS hook APIs to match 7.6.1

6 years agoFix build for 7.6 branch
Ian Lynagh [Fri, 4 Jan 2013 20:21:00 +0000 (20:21 +0000)] 
Fix build for 7.6 branch

6 years agoFix bug in External Core pretty printer (fixes Trac #7547)
Simon Peyton Jones [Wed, 2 Jan 2013 15:47:31 +0000 (15:47 +0000)] 
Fix bug in External Core pretty printer (fixes Trac #7547)

This bug was making GHC loop when printing external core from test T7239.

6 years agoSet DBLATEX_OPTS to -P 'filename.as.url=0' (fixes #7486)
Ian Lynagh [Fri, 4 Jan 2013 01:46:21 +0000 (01:46 +0000)] 
Set DBLATEX_OPTS to -P 'filename.as.url=0' (fixes #7486)

Apparently this fixes the build with dblatex 0.3.4.

6 years agoUpdate strictness documentation (Trac #7546)
Simon Peyton Jones [Wed, 2 Jan 2013 15:43:34 +0000 (15:43 +0000)] 
Update strictness documentation (Trac #7546)

6 years agoTidy the type in badInstSigErr (fixes Trac #7545)
Simon Peyton Jones [Wed, 2 Jan 2013 16:24:14 +0000 (16:24 +0000)] 
Tidy the type in badInstSigErr (fixes Trac #7545)

6 years agoPass the correct inst_tys argument to dataConCannotMatch, in mkRecSelBinds
Simon Peyton Jones [Wed, 19 Dec 2012 17:37:27 +0000 (17:37 +0000)] 
Pass the correct inst_tys argument to dataConCannotMatch, in mkRecSelBinds

This fixes Trac #7503.

6 years agoFix TcUnify.matchExpectedTyConApp so that it returns types of compatible kinds
Simon Peyton Jones [Wed, 19 Dec 2012 23:49:47 +0000 (23:49 +0000)] 
Fix TcUnify.matchExpectedTyConApp so that it returns types of compatible kinds

This fixes Trac #7368. The problem was that we were matching
   Bad w ~ f (Bad f)
where (f :: * -> *).  Thta leads to (w ~ Bad f), which is
ill-kinded, but matchExpectedTyConApp was returning the (Bad f)
as the argument type, and that was being used to instanatiate
w in the data constructor type, which is very bad.

The code also becomes simpler and easier to understand, which is
an excellent thing.

6 years agoA better fix for #7493 (see comment for details)
Simon Marlow [Tue, 18 Dec 2012 09:10:26 +0000 (09:10 +0000)] 
A better fix for #7493 (see comment for details)

6 years agoRevert "MERGED: Fix a bug in the handling of nested orElse"
Ian Lynagh [Thu, 3 Jan 2013 22:34:21 +0000 (22:34 +0000)] 
Revert "MERGED: Fix a bug in the handling of nested orElse"

This reverts commit 5ea49271f793ed0f872342bf6a1cb0de10a48d94.

6 years agoFix #7487
Jose Pedro Magalhaes [Fri, 7 Dec 2012 16:24:06 +0000 (16:24 +0000)] 
Fix #7487

Signed-off-by: Jose Pedro Magalhaes <jpm@cs.ox.ac.uk>
6 years agodocument special "this" syntax for PackageImports (#7409)
Simon Marlow [Tue, 11 Dec 2012 09:20:24 +0000 (09:20 +0000)] 
document special "this" syntax for PackageImports (#7409)

6 years agoMERGED: Fix a bug in the handling of nested orElse
Ian Lynagh [Fri, 14 Dec 2012 21:57:48 +0000 (21:57 +0000)] 
MERGED: Fix a bug in the handling of nested orElse

    commit f184d9caffa09750ef6a374a7987b9213d6db28e
    Author: Simon Marlow <marlowsd@gmail.com>
    Date:   Mon Dec 10 12:00:54 2012 +0000

    Fix a bug in the handling of nested orElse

    Exposed by the following snippet, courtesy of Bas van Dijk and Patrick
    Palka on libraries@haskell.org:

    import Control.Concurrent.STM
    main = do
      x <- atomically $ do
             t <- newTVar 1
             writeTVar t 2
             ((readTVar t >> retry) `orElse` return ()) `orElse` return ()
             readTVar t
      print x

6 years agoStop attempting to "trim" data types in interface files
Simon Peyton Jones [Thu, 6 Dec 2012 16:03:16 +0000 (16:03 +0000)] 
Stop attempting to "trim" data types in interface files

Without -O, we previously tried to make interface files smaller
by not including the data constructors of data types.  But
there are a lot of exceptions, notably when Template Haskell is
involved or, more recently, DataKinds.

However Trac #7445 shows that even without TemplateHaskell, using
the Data class and invoking Language.Haskell.TH.Quote.dataToExpQ
is enough to require us to expose the data constructors.

So I've given up on this "optimisation" -- it's probably not
important anyway.  Now I'm simply not attempting to trim off
the data constructors.  The gain in simplicity is worth the
modest cost in interface file growth, which is limited to the
bits reqd to describe those data constructors.

Conflicts:
compiler/main/TidyPgm.lhs

6 years agoRelease notes update
Ian Lynagh [Fri, 7 Dec 2012 15:47:55 +0000 (15:47 +0000)] 
Release notes update

6 years agoInvalidate the ModSummary cache in setSessionDynFlags (#7478)
Simon Marlow [Fri, 7 Dec 2012 12:05:29 +0000 (12:05 +0000)] 
Invalidate the ModSummary cache in setSessionDynFlags (#7478)

6 years agofix code in library initialisation example (#7471)
Simon Marlow [Fri, 7 Dec 2012 10:35:40 +0000 (10:35 +0000)] 
fix code in library initialisation example (#7471)

6 years agoDocument promotion of existential data types
Simon Peyton Jones [Wed, 5 Dec 2012 16:41:53 +0000 (16:41 +0000)] 
Document promotion of existential data types

Thanks to Richard Eisenberg for writing this.

6 years agoAllow existential data constructors to be promoted
Simon Peyton Jones [Wed, 5 Dec 2012 11:07:38 +0000 (11:07 +0000)] 
Allow existential data constructors to be promoted

This reverts the change in Trac #7347, which prevented promotion
of existential data constructors.  Ones with constraints in
their types, or kind polymorphism, still can't be promoted.

6 years agoMore release notes
Ian Lynagh [Fri, 7 Dec 2012 00:41:07 +0000 (00:41 +0000)] 
More release notes

6 years agoStart on release notes for 7.6.2
Ian Lynagh [Fri, 7 Dec 2012 00:18:29 +0000 (00:18 +0000)] 
Start on release notes for 7.6.2

6 years agoFix Trac #7453 on the 7.6 branch
Simon Peyton Jones [Mon, 3 Dec 2012 16:57:30 +0000 (16:57 +0000)] 
Fix Trac #7453 on the 7.6 branch

This patch fixes a quite egregious bug. runTcS was intialising
the 'untouchables' to NoUntouchables, which is quite wrong for
the invocation in TcSimplify.simplifyInfer.  Result: missed
skolem-escape check and seg-fault city.

All this is done differently, and better, in HEAD, so this
patch is needed only on the branch.

6 years agoOn Win64, mark executables as not supporting bigaddr; fixes #7134
Ian Lynagh [Sun, 2 Dec 2012 14:48:20 +0000 (14:48 +0000)] 
On Win64, mark executables as not supporting bigaddr; fixes #7134

This is a kludge, and means that ghc/haddock won't be able to use
more than 2G of RAM. But it'll make sure that ghci works in the short
term while we work on a proper fix.

6 years agoImprove kind inference for tuple types
Simon Peyton Jones [Mon, 26 Nov 2012 12:07:37 +0000 (12:07 +0000)] 
Improve kind inference for tuple types

Trac #7410 pointed out a terrible error message, which is
much improved by this patch.

Conflicts:
compiler/typecheck/TcHsType.lhs

6 years agoMake Constraint and * look identical in Core (System FC)
Simon Peyton Jones [Mon, 26 Nov 2012 11:56:56 +0000 (11:56 +0000)] 
Make Constraint and * look identical in Core (System FC)

Fixes Trac #7451. See Note [Kind Constraint and kind *] in Kind.lhs.

Conflicts:
compiler/types/Kind.lhs
compiler/types/Type.lhs

6 years agoReject promoted constructors when -XDataKinds is not enabled (FIX #7433)
Jose Pedro Magalhaes [Wed, 21 Nov 2012 13:13:44 +0000 (13:13 +0000)] 
Reject promoted constructors when -XDataKinds is not enabled (FIX #7433)

6 years agoAn accidentally-omitted part of commit 8019bc2c, about promoting data constructors
Simon Peyton Jones [Fri, 19 Oct 2012 19:29:06 +0000 (20:29 +0100)] 
An accidentally-omitted part of commit 8019bc2c, about promoting data constructors

6 years agoOnly promote *non-existential* data constructors
Simon Peyton Jones [Fri, 19 Oct 2012 11:53:21 +0000 (12:53 +0100)] 
Only promote *non-existential* data constructors

I don't konw how this was left out before; Trac #7347.

In fixing this I did the usual round of refactoring.  In particular, I
cached the fact that a DataCon can be promoted in the DataCon
itself (the dcPromoted field).

6 years agoMERGED: Compare the kinds of type variables when comparing types
Ian Lynagh [Thu, 29 Nov 2012 16:42:20 +0000 (16:42 +0000)] 
MERGED: Compare the kinds of type variables when comparing types

    commit 2c207b6f60ba5d271f400747256e4a32ca8f7e63

    Author: Simon Peyton Jones <simonpj@microsoft.com>
    Date:   Tue Oct 2 18:11:08 2012 +0100

    Compare the kinds of type variables when comparing types

    This is just a bug that's been around since we introduced
    polymorphic kinds.  The roots are in Type.cmpTypeX, but
    there was a variant in TcRnDriver.checkBootTyCon, which
    is where it came up.

    Fixes Trac #7272

6 years agoMERGED: Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule
Ian Lynagh [Thu, 29 Nov 2012 16:12:07 +0000 (16:12 +0000)] 
MERGED: Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule

    commit 419af69c1bea2cecce7b4bf58162cbfac81526f2
    Author: Simon Peyton Jones <simonpj@microsoft.com>
    Date:   Tue Oct 2 17:39:46 2012 +0100

    Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule

    See Trac #7287

6 years agoMake sure that we check for type errors strictly in a Template Haskell splice, even...
Simon Peyton Jones [Mon, 1 Oct 2012 20:52:19 +0000 (21:52 +0100)] 
Make sure that we check for type errors strictly in a Template Haskell splice, even if -fdefer-type-errors is on

We're going to run this code, so there's no point in deferring type
errors.  Worse, TcSplice uses unsafeCoerce (for vevy good reasons),
so splicing a type into a place where an expression is expected would
yield a seg-fault if we plough on regardless.

Fixes Trac #7276

6 years agoUse the right environment for tidying the types of a data constructor
Simon Peyton Jones [Fri, 23 Nov 2012 16:57:57 +0000 (16:57 +0000)] 
Use the right environment for tidying the types of a data constructor

Fixes Trac #7438

6 years agoFix the instantiation of data constructors in the GHCi debugger
Simon Peyton Jones [Tue, 6 Nov 2012 15:55:39 +0000 (15:55 +0000)] 
Fix the instantiation of data constructors in the GHCi debugger

This bug caused Trac #7386, because in the (rather tricky) "type
inference" (aka run time type reconstruction) done by the GHCi
debugger, we were failing to instantiate a data type family
correctly.  When that code was written we didn't *have* data
families.

I wrote Note [Constructor arg types] to explain the new scheme.

6 years agoFix bug with reporting deprecated use of flag (Trac #7349)
Simon Peyton Jones [Mon, 29 Oct 2012 23:19:32 +0000 (23:19 +0000)] 
Fix bug with reporting deprecated use of flag (Trac #7349)

6 years agoImprove reporting of duplicate signatures
Simon Peyton Jones [Fri, 19 Oct 2012 11:01:04 +0000 (12:01 +0100)] 
Improve reporting of duplicate signatures

Fixes Trac #7338

6 years agoBe lazier when typechecking data type contexts (Trac #7321)
Simon Peyton Jones [Fri, 12 Oct 2012 07:15:44 +0000 (08:15 +0100)] 
Be lazier when typechecking data type contexts (Trac #7321)

We should be lazy when type-checking the equality-contraint
part of a data constructor's type, to make the knot-tying
work out right.  The fact that it's always worked before
is a fluke: no one else wrote a GADT whose type index mentions
itself
  data T a wher
    MkT :: T (T Int)

6 years agoFix doc typo; fixes #7318
Ian Lynagh [Thu, 25 Oct 2012 19:54:41 +0000 (20:54 +0100)] 
Fix doc typo; fixes #7318

6 years agoEnsure we produce a FunTy for functions (Trac #7312)
Simon Peyton Jones [Wed, 10 Oct 2012 18:10:18 +0000 (19:10 +0100)] 
Ensure we produce a FunTy for functions (Trac #7312)

The issue here was with a function type written prefix
  (->) a b
where we were not generating a FunTy, which blew the
invariant that function types are always FunTys.  We
can't look at the TyCon directly because it may be
knot-tied, so we look at the name instead.

6 years agorts: Ignore signal before deleting timer. Fixes #7303.
Erik de Castro Lopo [Sat, 6 Oct 2012 07:23:01 +0000 (17:23 +1000)] 
rts: Ignore signal before deleting timer. Fixes #7303.

Was getting an ocassional hang or segfault when building GHC in a
Qemu user space emulation of ARM. Turned out that the ITIMER_SIGNAL
was being delivered *after* the call to timer_delete(). Setting the
signal to SIG_IGN before deleting the timer solves the problem.

6 years agoWrap a bracket quotation in a coercion that makes it have the right type
Simon Peyton Jones [Mon, 15 Oct 2012 14:07:16 +0000 (15:07 +0100)] 
Wrap a bracket quotation in a coercion that makes it have the right type

This is the right fix to Trac #7276 (part 2), which makes the
interaction with -fdefer-type-errors and TH work properly.

6 years agoFix #7231: don't unload stable modules when there is an error later
Simon Marlow [Tue, 27 Nov 2012 08:55:31 +0000 (08:55 +0000)] 
Fix #7231: don't unload stable modules when there is an error later

6 years agoMERGED: Fix building on Sparc/Solaris with non-GNU linker; fixes #5407
Ian Lynagh [Thu, 29 Nov 2012 13:33:05 +0000 (13:33 +0000)] 
MERGED: Fix building on Sparc/Solaris with non-GNU linker; fixes #5407

commit 9ef4d48e296d4b96492a839f9ee569f8f90c617b
Author: Ian Lynagh <ian@well-typed.com>
Date:   Fri Nov 23 16:54:15 2012 +0000

    Fix building on Sparc/Solaris with non-GNU linker; fixes #5407

    Patch from maeder.

6 years agoOS X build fixes
Ian Lynagh [Sat, 17 Nov 2012 00:17:14 +0000 (00:17 +0000)] 
OS X build fixes

6 years agoMore OS X build fixes
Ian Lynagh [Fri, 16 Nov 2012 23:54:58 +0000 (23:54 +0000)] 
More OS X build fixes

Conflicts:

rts/sm/Sanity.c

6 years agoMore OS X build fixes
Ian Lynagh [Fri, 16 Nov 2012 23:53:36 +0000 (23:53 +0000)] 
More OS X build fixes

6 years agoBuild fix on OS X
Ian Lynagh [Fri, 16 Nov 2012 23:23:24 +0000 (23:23 +0000)] 
Build fix on OS X

6 years agowibbles to #5252.
Paolo Capriotti [Tue, 6 Nov 2012 14:41:12 +0000 (14:41 +0000)] 
wibbles to #5252.

6 years agoFix #7087 (integer overflow in getDelayTarget())
Simon Marlow [Tue, 31 Jul 2012 08:06:43 +0000 (09:06 +0100)] 
Fix #7087 (integer overflow in getDelayTarget())

MERGED from commit 598ee1ad1b8de089a2ed207543761d617a90db52

6 years agoMerge fix for #5252.
Paolo Capriotti [Tue, 6 Nov 2012 14:14:06 +0000 (14:14 +0000)] 
Merge fix for #5252.

Based on:

  commit 5bae803a18b17bdb158a7780e6b6ac3c520e5b39
  Author: Simon Peyton Jones <simonpj@microsoft.com>
  Date:   Sat Sep 15 23:09:25 2012 +0100

      Fix UNPACK with -fomit-interface-pragmas.

      We were missing a case, so that you could expose a constructor
      with UNPACKed fields, but the field tpye was trimmed, and hence
      can't be expanded.

      Fixes Trac #5252 (revived)

6 years agofprintCCS_stderr: untag the exception (#7319)
Simon Marlow [Wed, 24 Oct 2012 12:39:34 +0000 (13:39 +0100)] 
fprintCCS_stderr: untag the exception (#7319)

MERGED from commit 467e1a623d405440021e92572638be22f0cf5dda

6 years agoRevert "Disable the timer signal while blocked in select() (#5991)"
Simon Marlow [Fri, 21 Sep 2012 14:26:46 +0000 (15:26 +0100)] 
Revert "Disable the timer signal while blocked in select() (#5991)"

This reverts commit dd24d6bc37879c6b32a3d5ac4ee765e59e13501c.

This attempt to fix the problem was misguided: the program might be
stuck in a foreign call rather than awaitEvent(), and then the timer
signal will never get disabled.  The only way to turn off the timer
signal in this case is in the timer interrupt handler itself.

MERGED from commit 673b6f50eca6f53cfb13b00e587c403c716baba1

6 years agoAnother overhaul of the recent_activity / idle GC handling (#5991)
Simon Marlow [Fri, 21 Sep 2012 14:49:22 +0000 (15:49 +0100)] 
Another overhaul of the recent_activity / idle GC handling (#5991)

Improvements:

 - we now turn off the timer signal in the non-threaded RTS after
   idleGCDelay.  This should make the xmonad users on #5991 happy.

 - we now turn off the timer signal after idleGCDelay even if the
   idle GC is disabled with +RTS -I0.

 - we now do *not* turn off the timer when profiling.

 - more comments to explain the meaning of the various ACTIVITY_*
   values

MERGED from commit 0b79d5cd4687dacf7efd430df7fba9d9a5a5ce32

6 years agoInclude pinned memory in the stats for allocated memory
Simon Marlow [Fri, 21 Sep 2012 12:20:37 +0000 (13:20 +0100)] 
Include pinned memory in the stats for allocated memory

This broke with the changes to the pinned object handling in
67f4ab7e6b7705a9d617c6109a8c5434ede13cae.

MERGED from commit c19f2e320a575a66d31c83d846ce3cc954c4ab3b

6 years agoAllow allocNursery() to allocate single blocks (#7257)
Simon Marlow [Fri, 21 Sep 2012 12:11:22 +0000 (13:11 +0100)] 
Allow allocNursery() to allocate single blocks (#7257)

Forcing large allocations here can creates serious fragmentation in
some cases, and since the large allocations are only a small
optimisation we should allow the nursery to hoover up small blocks
before allocating large chunks.

MERGED from commit 1f5d83648dfda39d999eb8a9e8192339b3eea540

6 years agoSome further tweaks to reduce fragmentation when allocating the nursery
Simon Marlow [Fri, 7 Sep 2012 12:36:09 +0000 (13:36 +0100)] 
Some further tweaks to reduce fragmentation when allocating the nursery

MERGED from commit a8179622f84bbd52e127a9596d2d4a918ca64e0c

6 years agoReduce fragmentation when using +RTS -H (with or without a size)
Simon Marlow [Tue, 21 Aug 2012 10:39:06 +0000 (11:39 +0100)] 
Reduce fragmentation when using +RTS -H (with or without a size)

MERGED from commit a68df77ede928e6c7790dacb5925625792a904d3

6 years agoCache the result of countOccupied(gen->large_objects) as gen->n_large_words (#7257)
Simon Marlow [Fri, 21 Sep 2012 12:18:49 +0000 (13:18 +0100)] 
Cache the result of countOccupied(gen->large_objects) as gen->n_large_words (#7257)

The program in #7257 was spending 90% of its time counting the live
data in gen->large_objects.  We already avoid doing this for small
objects, but in this example the old generation was full of large
objects (actually pinned ByteStrings).

MERGED from commit 016fd74d6517512b62b36ff12cdccf2e723a0fb3

6 years agoUse perl interpreter in the PATH.
Paolo Capriotti [Thu, 1 Nov 2012 14:40:32 +0000 (14:40 +0000)] 
Use perl interpreter in the PATH.

6 years agofix obvious typos
Gabor Greif [Fri, 12 Oct 2012 07:40:09 +0000 (09:40 +0200)] 
fix obvious typos

these can go into the release 7.6.2 too, I guess