7 years agoFix warnings in deSugar/DsListComp.lhs
Ian Lynagh [Sun, 6 Nov 2011 20:41:29 +0000 (20:41 +0000)] 
Fix warnings in deSugar/DsListComp.lhs

7 years agoWhitespace in deSugar/DsListComp.lhs
Ian Lynagh [Sun, 6 Nov 2011 20:36:52 +0000 (20:36 +0000)] 
Whitespace in deSugar/DsListComp.lhs

7 years agoWarnings already seem to be fixed in coreSyn/CoreFVs.lhs
Ian Lynagh [Sun, 6 Nov 2011 20:35:24 +0000 (20:35 +0000)] 
Warnings already seem to be fixed in coreSyn/CoreFVs.lhs

7 years agoWhitespace in coreSyn/CoreFVs.lhs
Ian Lynagh [Sun, 6 Nov 2011 20:34:40 +0000 (20:34 +0000)] 
Whitespace in coreSyn/CoreFVs.lhs

7 years agoAllow the use of R9 and R10 in primops; fixes trac #5423
Ian Lynagh [Sun, 6 Nov 2011 18:11:56 +0000 (18:11 +0000)] 
Allow the use of R9 and R10 in primops; fixes trac #5423

7 years agoGive a better error for uses of R11, R12, ...; trac #5422
Ian Lynagh [Sun, 6 Nov 2011 15:53:39 +0000 (15:53 +0000)] 
Give a better error for uses of R11, R12, ...; trac #5422

It's still a panic, as it wouldn't be trivial to give a proper error
at the point that we generate it, but it's now a bit nicer:
    Registers above R10 are not supported (tried to use R11)

7 years agoMerge branch 'dependent7' of
Ian Lynagh [Sun, 6 Nov 2011 12:48:08 +0000 (12:48 +0000)] 
Merge branch 'dependent7' of

7 years agoFix warnings in StgStats
Ian Lynagh [Sun, 6 Nov 2011 12:35:56 +0000 (12:35 +0000)] 
Fix warnings in StgStats

7 years agoFix warnings in typecheck/TcSplice.lhs
Ian Lynagh [Sat, 5 Nov 2011 18:23:40 +0000 (18:23 +0000)] 
Fix warnings in typecheck/TcSplice.lhs

7 years agoWhitespace only in typecheck/TcSplice.lhs
Ian Lynagh [Sat, 5 Nov 2011 18:19:33 +0000 (18:19 +0000)] 
Whitespace only in typecheck/TcSplice.lhs

7 years agoFix stage1 warnings
Ian Lynagh [Sat, 5 Nov 2011 17:24:04 +0000 (17:24 +0000)] 
Fix stage1 warnings

7 years agoFix warnings in deSugar/DsExpr.lhs
Ian Lynagh [Sat, 5 Nov 2011 15:54:20 +0000 (15:54 +0000)] 
Fix warnings in deSugar/DsExpr.lhs

7 years agoFix warnings in deSugar/DsGRHSs.lhs
Ian Lynagh [Sat, 5 Nov 2011 15:02:06 +0000 (15:02 +0000)] 
Fix warnings in deSugar/DsGRHSs.lhs

7 years agoFix warnings in cmm/CmmOpt.hs
Ian Lynagh [Sat, 5 Nov 2011 01:41:57 +0000 (01:41 +0000)] 
Fix warnings in cmm/CmmOpt.hs

7 years agoFinish de-CPPing CmmOpt.hs
Ian Lynagh [Sat, 5 Nov 2011 01:34:12 +0000 (01:34 +0000)] 
Finish de-CPPing CmmOpt.hs

7 years agoFix bitrotted NCG_DEBUG code, and switch to using a Haskell conditional
Ian Lynagh [Sat, 5 Nov 2011 01:23:50 +0000 (01:23 +0000)] 
Fix bitrotted NCG_DEBUG code, and switch to using a Haskell conditional

7 years agoRemove some out-of-date comments
Ian Lynagh [Sat, 5 Nov 2011 00:48:47 +0000 (00:48 +0000)] 
Remove some out-of-date comments

7 years agoClarify some comments
Ian Lynagh [Sat, 5 Nov 2011 00:46:18 +0000 (00:46 +0000)] 
Clarify some comments

7 years agoaddDependentFile #4900
Greg Weber [Sat, 8 Oct 2011 00:28:15 +0000 (17:28 -0700)] 
addDependentFile #4900

Let GHC know about an external dependency that Template Haskell uses
so that GHC can recompile when the dependency changes.
No support for ghc -M

There is a corresponding addition to the template-haskell library

7 years agoremove duplicate comment
Greg Weber [Sat, 8 Oct 2011 02:08:46 +0000 (19:08 -0700)] 
remove duplicate comment

7 years agoCorrectly handle safe inference in Safe Haskell.
David Terei [Wed, 2 Nov 2011 05:54:38 +0000 (22:54 -0700)] 
Correctly handle safe inference in Safe Haskell.

7 years agoMerge branch 'master' of
Ian Lynagh [Fri, 4 Nov 2011 17:03:35 +0000 (17:03 +0000)] 
Merge branch 'master' of

7 years agoImprove optimisation for ticks
Simon Marlow [Fri, 4 Nov 2011 14:51:29 +0000 (14:51 +0000)] 
Improve optimisation for ticks

We want to prevent the SCC from getting in the way when we have
case-of-scc-of-case, and the case-of-case would transform, so we push
the scc inside the inner case to allow the case-of-case to take
place.  See comments for details.

7 years agoUse -fwarn-tabs when validating
Ian Lynagh [Fri, 4 Nov 2011 15:06:56 +0000 (15:06 +0000)] 
Use -fwarn-tabs when validating

We only use it for "compiler" sources, i.e. not for libraries.
Many modules have a -fno-warn-tabs kludge for now.

7 years agoMerge branch 'master' of
Ross Paterson [Fri, 4 Nov 2011 15:42:16 +0000 (15:42 +0000)] 
Merge branch 'master' of

7 years agofix #5602: (<+>) example in User's Guide
Ross Paterson [Fri, 4 Nov 2011 15:40:19 +0000 (15:40 +0000)] 
fix #5602: (<+>) example in User's Guide

7 years agoAdd eventlog event for thread labels
Duncan Coutts [Wed, 2 Nov 2011 12:02:09 +0000 (12:02 +0000)] 
Add eventlog event for thread labels

The existing GHC.Conc.labelThread will now also emit the the thread
label into the eventlog. Profiling tools like ThreadScope could then
use the thread labels rather than thread numbers.

7 years agobe specific when importing Data.Typeable
Simon Marlow [Thu, 3 Nov 2011 19:49:05 +0000 (19:49 +0000)] 
be specific when importing Data.Typeable

7 years agodrop SCC on a variable when it has a non-function type
Simon Marlow [Fri, 4 Nov 2011 09:08:18 +0000 (09:08 +0000)] 
drop SCC on a variable when it has a non-function type

7 years agoMerge branch 'master' of /home/simonmar/ghc-mirror/ghc
Jose Pedro Magalhaes [Fri, 4 Nov 2011 10:23:59 +0000 (10:23 +0000)] 
Merge branch 'master' of /home/simonmar/ghc-mirror/ghc

7 years agodisable a debugging trace, and a little refactoring
Simon Marlow [Thu, 3 Nov 2011 09:43:22 +0000 (09:43 +0000)] 
disable a debugging trace, and a little refactoring

7 years agodisable debugging trace
Simon Marlow [Thu, 3 Nov 2011 09:39:34 +0000 (09:39 +0000)] 
disable debugging trace

7 years agoImprove -ddump-deriv output for Generic instances
Jose Pedro Magalhaes [Fri, 4 Nov 2011 08:41:52 +0000 (08:41 +0000)] 
Improve -ddump-deriv output for Generic instances

Also print the right-hand side of the generated Rep
type instances.

7 years agoMake sure to look items from D.A.P.P properly up in the HPT
Manuel M T Chakravarty [Fri, 4 Nov 2011 04:52:01 +0000 (15:52 +1100)] 
Make sure to look items from D.A.P.P properly up in the HPT

Kudos to Ben Lippmeier for suggesting this change

7 years agoClean up and complete the vectorisation of type classes
Manuel M T Chakravarty [Fri, 4 Nov 2011 04:22:02 +0000 (15:22 +1100)] 
Clean up and complete the vectorisation of type classes

7 years agoFix build
Ian Lynagh [Fri, 4 Nov 2011 02:00:12 +0000 (02:00 +0000)] 
Fix build

    <imagedata fileref="prof_scc.png"
I get
    users_guide.tex:12802: Cannot determine size of graphic in /home/ian/ghc/git/ghc/docs/users_guide//prof_scc.png (no BoundingBox).
    users_guide.tex:12802: leading text: ...width=645pt,height=428pt]{prof_scc.png}

7 years agoAdd format-patch support to sync-all
Ian Lynagh [Thu, 27 Oct 2011 11:50:55 +0000 (12:50 +0100)] 
Add format-patch support to sync-all

7 years agofix configure's generation of settings file on ARM platform
Karel Gardas [Wed, 2 Nov 2011 17:29:39 +0000 (10:29 -0700)] 
fix configure's generation of settings file on ARM platform

This patch fixes generation of settings file on ARM platform
by configure script. This fixes build issue on ARM platform
where ghc-stage1 compiler is not able to read the target arch
value and due to this issue build fails with:

ghc-cabal: Failed to read "target arch" value "ArchARM ARMv7 [VFPv3, NEON]"

Signed-off-by: David Terei <>
7 years agoremove tabs again
Simon Marlow [Wed, 2 Nov 2011 16:35:56 +0000 (16:35 +0000)] 
remove tabs again

7 years agoFix gratuitous code duplication in the byte code generator
Simon Marlow [Wed, 2 Nov 2011 10:28:55 +0000 (10:28 +0000)] 
Fix gratuitous code duplication in the byte code generator

For a case expression with a default, we were re-emitting the code for
the default branch each time it was referenced, which in a case with
many branches could be many times, leading to an O(n^2) blowup.

This shows up in ghcirun003, which now runs much faster than before.

7 years agofix disassembling of large instructions
Simon Marlow [Wed, 2 Nov 2011 10:19:51 +0000 (10:19 +0000)] 
fix disassembling of large instructions

7 years agoGet label calculations right when we have long (>16 bits) offsets
Simon Marlow [Wed, 2 Nov 2011 10:19:33 +0000 (10:19 +0000)] 
Get label calculations right when we have long (>16 bits) offsets

This shows up as a segfault in GHCi when there is a very large BCO.
I've constructed a test case that crashes with 7.2.1, which I'll put
in the testsuite as ghcirun004.

7 years agofix BCO_GET_LARGE_ARG (seems to be completely wrong)
Simon Marlow [Wed, 2 Nov 2011 10:19:02 +0000 (10:19 +0000)] 
fix BCO_GET_LARGE_ARG (seems to be completely wrong)

7 years agounknownNameSuggestErr: don't panic if we find Ids with UnhelpfulSrcSpans
Simon Marlow [Wed, 2 Nov 2011 08:41:08 +0000 (08:41 +0000)] 
unknownNameSuggestErr: don't panic if we find Ids with UnhelpfulSrcSpans

This happens with the Ids generated by the GHCi debugger for heap
values (_t1, _t2 etc.).

7 years agosimplTick: push type-applications and casts inside ticks.
Simon Marlow [Wed, 2 Nov 2011 08:39:51 +0000 (08:39 +0000)] 
simplTick: push type-applications and casts inside ticks.

7 years agoImprove pretty-printing of BCOs (-ddump-bcos)
Simon Marlow [Wed, 2 Nov 2011 08:39:13 +0000 (08:39 +0000)] 
Improve pretty-printing of BCOs (-ddump-bcos)

7 years agoOverhaul of infrastructure for profiling, coverage (HPC) and breakpoints
Simon Marlow [Thu, 27 Oct 2011 12:47:27 +0000 (13:47 +0100)] 
Overhaul of infrastructure for profiling, coverage (HPC) and breakpoints

User visible changes


Flags renamed (the old ones are still accepted for now):

  OLD            NEW
  ---------      ------------
  -auto-all      -fprof-auto
  -auto          -fprof-exported
  -caf-all       -fprof-cafs

New flags:

  -fprof-auto              Annotates all bindings (not just top-level
                           ones) with SCCs

  -fprof-top               Annotates just top-level bindings with SCCs

  -fprof-exported          Annotates just exported bindings with SCCs

  -fprof-no-count-entries  Do not maintain entry counts when profiling
                           (can make profiled code go faster; useful with
                           heap profiling where entry counts are not used)

Cost-centre stacks have a new semantics, which should in most cases
result in more useful and intuitive profiles.  If you find this not to
be the case, please let me know.  This is the area where I have been
experimenting most, and the current solution is probably not the
final version, however it does address all the outstanding bugs and
seems to be better than GHC 7.2.

Stack traces

+RTS -xc now gives more information.  If the exception originates from
a CAF (as is common, because GHC tends to lift exceptions out to the
top-level), then the RTS walks up the stack and reports the stack in
the enclosing update frame(s).

Result: +RTS -xc is much more useful now - but you still have to
compile for profiling to get it.  I've played around a little with
adding 'head []' to GHC itself, and +RTS -xc does pinpoint the problem
quite accurately.

I plan to add more facilities for stack tracing (e.g. in GHCi) in the

Coverage (HPC)

 * derived instances are now coloured yellow if they weren't used
 * likewise record field names
 * entry counts are more accurate (hpc --fun-entry-count)
 * tab width is now correct (markup was previously off in source with

Internal changes

In Core, the Note constructor has been replaced by

        Tick (Tickish b) (Expr b)

which is used to represent all the kinds of source annotation we
support: profiling SCCs, HPC ticks, and GHCi breakpoints.

Depending on the properties of the Tickish, different transformations
apply to Tick.  See CoreUtils.mkTick for details.


This commit closes the following tickets, test cases to follow:

  - Close #2552: not a bug, but the behaviour is now more intuitive
    (test is T2552)

  - Close #680 (test is T680)

  - Close #1531 (test is result001)

  - Close #949 (test is T949)

  - Close #2466: test case has bitrotted (doesn't compile against current
    version of vector-space package)

7 years agofix time calculation for retainer profiling
Simon Marlow [Wed, 26 Oct 2011 14:15:50 +0000 (15:15 +0100)] 
fix time calculation for retainer profiling

7 years agoadd BangPatterns, we're starting to use them a fair bit
Simon Marlow [Thu, 13 Oct 2011 15:44:09 +0000 (16:44 +0100)] 
add BangPatterns, we're starting to use them a fair bit

7 years agofix doc bugs
Simon Marlow [Thu, 13 Oct 2011 15:43:09 +0000 (16:43 +0100)] 
fix doc bugs

The description of GHC's divergence from the FFI spec was in the wrong
place, and the xref was broken.

7 years agofix for a deadlock when using +RTS -hb with -prof -threaded
Simon Marlow [Wed, 12 Oct 2011 14:38:09 +0000 (15:38 +0100)] 
fix for a deadlock when using +RTS -hb with -prof -threaded

7 years agominor bugfix for 'make re2' etc.
Simon Marlow [Wed, 12 Oct 2011 13:53:53 +0000 (14:53 +0100)] 
minor bugfix for 'make re2' etc.

7 years agoDon't generate stg_ap thunks when profiling, it loses information (#949)
Simon Marlow [Mon, 10 Oct 2011 13:50:41 +0000 (14:50 +0100)] 
Don't generate stg_ap thunks when profiling, it loses information (#949)

7 years agoFor the location on a record selector binding, use the location of the
Simon Marlow [Thu, 18 Aug 2011 14:32:22 +0000 (15:32 +0100)] 
For the location on a record selector binding, use the location of the
record selector identifier in the data declaration.  Previously the
location was pointing to the TyCon in the source, which was clearly
wrong, and the new way gives more useful information from HPC: if a
record selector is never used, the markup will shade the identifier

7 years agoAdd a base size when computing max-ticks,
Simon Peyton Jones [Wed, 2 Nov 2011 13:54:31 +0000 (13:54 +0000)] 
Add a base size when computing max-ticks,
to deal with very small programs (like zero)

7 years agoMerge branch 'master' of
Simon Peyton Jones [Wed, 2 Nov 2011 10:19:27 +0000 (10:19 +0000)] 
Merge branch 'master' of

7 years agoFix Trac #5592: unused-import warnings with dot-dot notation
Simon Peyton Jones [Wed, 2 Nov 2011 10:18:00 +0000 (10:18 +0000)] 
Fix Trac #5592: unused-import warnings with dot-dot notation

A subtle interaction between two complicate features!

7 years agoIgnore stdcall c-call in native codegen on x86_64
David M Peixotto [Thu, 20 Oct 2011 14:18:19 +0000 (09:18 -0500)] 
Ignore stdcall c-call in native codegen on x86_64

The stdcall calling convention is not supported on x86_64.
When an ffi import requests stdcall, a warning is issued as
desired by #3336. However, the native codegen was still
generating code that expected the callee to cleanup the
stack arguments when calling a c function that requests

This patch changes the codegen to actually use the ccall
calling convention as intended.

Signed-off-by: David Terei <>
7 years agoChange stack alignment to 16+8 bytes in STG code
David M Peixotto [Wed, 19 Oct 2011 20:49:06 +0000 (15:49 -0500)] 
Change stack alignment to 16+8 bytes in STG code

This patch changes the STG code so that %rsp to be aligned
to a 16-byte boundary + 8. This is the alignment required by
the x86_64 ABI on entry to a function. Previously we kept
%rsp aligned to a 16-byte boundary, but this was causing
problems for the LLVM backend (see #4211).

We now don't need to invoke llvm stack mangler on
x86_64 targets. Since the stack is now 16+8 byte algined in
STG land on x86_64, we don't need to mangle the stack
manipulations with the llvm mangler.

This patch only modifies the alignement for x86_64 backends.

Signed-off-by: David Terei <>
7 years agoBig formatting clean of HscMain
David Terei [Wed, 26 Oct 2011 00:17:32 +0000 (17:17 -0700)] 
Big formatting clean of HscMain

7 years agoChange HscMain from lhs to hs.
David Terei [Wed, 26 Oct 2011 00:16:54 +0000 (17:16 -0700)] 
Change HscMain from lhs to hs.

7 years agoRemove tab
David Terei [Tue, 1 Nov 2011 08:13:55 +0000 (01:13 -0700)] 
Remove tab

7 years agoFormmatting fixes to CmdLineParser
David Terei [Wed, 26 Oct 2011 01:02:24 +0000 (18:02 -0700)] 
Formmatting fixes to CmdLineParser

7 years agoSome fixes to BreakArray
David Terei [Wed, 26 Oct 2011 01:01:40 +0000 (18:01 -0700)] 
Some fixes to BreakArray

7 years agoTweak to doc for DynFlags
David Terei [Wed, 26 Oct 2011 00:18:04 +0000 (17:18 -0700)] 
Tweak to doc for DynFlags

7 years agosafe haskell wip
David Terei [Mon, 31 Oct 2011 21:27:25 +0000 (14:27 -0700)] 
safe haskell wip

7 years agoMore updates to Safe Haskell to implement new design (done!).
David Terei [Tue, 25 Oct 2011 18:07:09 +0000 (11:07 -0700)] 
More updates to Safe Haskell to implement new design (done!).



7 years agoFix some validation errors
David Terei [Tue, 25 Oct 2011 22:15:37 +0000 (15:15 -0700)] 
Fix some validation errors



7 years agoMerge branch 'master' of
Simon Peyton Jones [Tue, 1 Nov 2011 07:39:41 +0000 (07:39 +0000)] 
Merge branch 'master' of

7 years agoMinor refactoring only
Simon Peyton Jones [Tue, 1 Nov 2011 07:38:45 +0000 (07:38 +0000)] 
Minor refactoring only

7 years agoFix unused var warning on windows
Duncan Coutts [Mon, 31 Oct 2011 23:01:36 +0000 (23:01 +0000)] 
Fix unused var warning on windows

7 years agoFix warnings and whitespace in HsBinds.
Michal Terepeta [Sun, 30 Oct 2011 11:28:59 +0000 (12:28 +0100)] 
Fix warnings and whitespace in HsBinds.

7 years agoFix duplicate type signature error (ticket #5589).
Michal Terepeta [Sun, 30 Oct 2011 11:20:44 +0000 (12:20 +0100)] 
Fix duplicate type signature error (ticket #5589).

7 years agoFix recent rts flags changes on windows
Duncan Coutts [Mon, 31 Oct 2011 11:39:15 +0000 (11:39 +0000)] 
Fix recent rts flags changes on windows

I naively assumed that mingw would not have unistd.h or sys/types
but it has both, yet does not have getuid() and friends.

7 years agoVECTORISE pragmas for type classes and instances
Manuel M T Chakravarty [Mon, 31 Oct 2011 06:37:26 +0000 (17:37 +1100)] 
VECTORISE pragmas for type classes and instances

* Frontend support (not yet used in the vectoriser)

7 years agoTabs -> spaces
Manuel M T Chakravarty [Thu, 27 Oct 2011 23:31:51 +0000 (10:31 +1100)] 
Tabs -> spaces

7 years agoTabs -> spaces
Manuel M T Chakravarty [Thu, 27 Oct 2011 05:40:33 +0000 (16:40 +1100)] 
Tabs -> spaces

7 years agoTabs -> Spaces
Manuel M T Chakravarty [Wed, 26 Oct 2011 02:30:52 +0000 (13:30 +1100)] 
Tabs -> Spaces

7 years agoTabs -> spaces
Manuel M T Chakravarty [Wed, 26 Oct 2011 00:26:07 +0000 (11:26 +1100)] 
Tabs -> spaces

7 years agoTabs -> spaces
Manuel M T Chakravarty [Tue, 25 Oct 2011 23:32:54 +0000 (10:32 +1100)] 
Tabs -> spaces

7 years agoThe Types inside an OutCoercion are *not* InTypes
Max Bolingbroke [Sun, 30 Oct 2011 08:28:52 +0000 (08:28 +0000)] 
The Types inside an OutCoercion are *not* InTypes

7 years agoAllow the -t -T -s -S flags (without <file> arg!) in -rtsopts=some mode
Duncan Coutts [Thu, 27 Oct 2011 16:35:44 +0000 (17:35 +0100)] 
Allow the -t -T -s -S flags (without <file> arg!) in -rtsopts=some mode

Without any <file> arg, these flags just dump info to stderr so
are at most a mild information disclosure danger. We disallow
a <file> arg in the default -rtsopts=some mode since that will
overwrite the given file.

7 years agoChange what +RTS options are available by default
Duncan Coutts [Thu, 27 Oct 2011 12:26:15 +0000 (13:26 +0100)] 
Change what +RTS options are available by default

Ticket #3910 originally pointed out that the RTS options are a potential
security problem. For example the -t -s or -S flags can be used to
overwrite files. This would be bad in the context of CGI scripts or
setuid binaries. So we introduced a system where +RTS processing is more
or less disabled unless you pass the -rtsopts flag at link time.

This scheme is safe enough but it also really annoies users. They have
to use -rtsopts in many circumstances: with -threaded to use -N, with
-eventlog to use -l, with -prof to use any of the profiling flags. Many
users just set -rtsopts globally or in project .cabal files. Apart from
annoying users it reduces security because it means that deployed
binaries will have all RTS options enabled rather than just profiling

This patch relaxes the set of RTS options that are available in the
default -rtsopts=some case. For "deployment" ways like vanilla and
-threaded we remain quite conservative. Only --info -? --help are
allowed for vanilla. For -threaded, -N and -N<x> are allowed with a
check that x <= num cpus.

For "developer" ways like -debug, -eventlog, -prof, we allow all the
options that are special to that way. Some of these allow writing files,
but the file written is not directly under the control of the attacker.
For the setuid case (where the attacker would have control over binary
name, current dir, local symlinks etc) we check if the process is
running setuid/setgid and refuse all RTS option processing. Users would
need to use -rtsopts=all in this case.

We are making the assumption that developers will not deploy binaries
built in the -debug, -eventlog, -prof ways. And even if they do, the
damage should be limited to DOS, information disclosure and writing
files like <progname>.eventlog, not arbitrary files.

7 years agoUse signed comparison for +RTS -N x <= 0 test
Duncan Coutts [Thu, 27 Oct 2011 12:16:24 +0000 (13:16 +0100)] 
Use signed comparison for +RTS -N x <= 0 test

Otherwise we can use +RTS -N-1 and get 2^32 or 2^64 capabilities
which doesn't work out so well...

7 years agoRemove +RTS --help text for -De flag which no longer exists
Duncan Coutts [Thu, 27 Oct 2011 12:09:02 +0000 (13:09 +0100)] 
Remove +RTS --help text for -De flag which no longer exists

7 years agoAdd an RTS eventlog tracing class for user messages
Duncan Coutts [Thu, 27 Oct 2011 11:44:05 +0000 (12:44 +0100)] 
Add an RTS eventlog tracing class for user messages

Enables people to turn them on/off. Defaults to on.

7 years agoMerge branch 'master' of
Ian Lynagh [Wed, 26 Oct 2011 18:06:53 +0000 (19:06 +0100)] 
Merge branch 'master' of

7 years agofix#5380: arrows if command given too general a type
Ross Paterson [Wed, 26 Oct 2011 17:23:57 +0000 (18:23 +0100)] 
fix#5380: arrows if command given too general a type

There were two bugs with the implementation of rebindable syntax, so I
adapted the code for if-expressions.  Also noted that rebinding of if
is a bit more restricted in the arrows case.

7 years agoMerge branch 'master' of mac:ghc/git/val32/.
Ian Lynagh [Wed, 26 Oct 2011 17:22:47 +0000 (18:22 +0100)] 
Merge branch 'master' of mac:ghc/git/val32/.

7 years agoRevert "More updates to Safe Haskell to implement new design (done!)."
Ian Lynagh [Wed, 26 Oct 2011 16:37:35 +0000 (17:37 +0100)] 
Revert "More updates to Safe Haskell to implement new design (done!)."

This reverts commit bb0eb57e329bcdd781e24b0d86993a0df25beed8.

7 years agoRevert "Fix some validation errors"
Ian Lynagh [Wed, 26 Oct 2011 16:37:27 +0000 (17:37 +0100)] 
Revert "Fix some validation errors"

This reverts commit 4e2121f4fa33743d0acb42506b4d34952a7e4c80.

7 years agoFix typo
Ian Lynagh [Wed, 26 Oct 2011 14:29:15 +0000 (15:29 +0100)] 
Fix typo

7 years agoAdd a clock domain capset and emit wall clock time on rts init
Duncan Coutts [Wed, 26 Oct 2011 10:58:44 +0000 (11:58 +0100)] 
Add a clock domain capset and emit wall clock time on rts init

7 years agoAdd new eventlog EVENT_WALL_CLOCK_TIME for time matching
Duncan Coutts [Tue, 25 Oct 2011 17:55:55 +0000 (18:55 +0100)] 
Add new eventlog EVENT_WALL_CLOCK_TIME for time matching

Eventlog timestamps are elapsed times (in nanoseconds) relative to the
process start. To be able to merge eventlogs from multiple processes we
need to be able to align their timelines. If they share a clock domain
(or a user judges that their clocks are sufficiently closely
synchronised) then it is sufficient to know how the eventlog timestamps
match up with the clock.

The EVENT_WALL_CLOCK_TIME contains the clock time with (up to)
nanosecond precision. It is otherwise an ordinary event and so contains
the usual timestamp for the same moment in time. It therefore enables
us to match up all the eventlog timestamps with clock time.

7 years agoAdd rts time util getUnixEpochTime
Duncan Coutts [Tue, 25 Oct 2011 17:41:46 +0000 (18:41 +0100)] 
Add rts time util getUnixEpochTime

The other existing time utilities give us time elapsed since process
or thread start. This is for wall clock time, using the common Unix
epoch interpretation.

7 years agoDelete some old Win9x C code
Duncan Coutts [Tue, 25 Oct 2011 17:40:46 +0000 (18:40 +0100)] 
Delete some old Win9x C code

7 years agoRename traceCapsetModify for consistency and clarity
Duncan Coutts [Tue, 25 Oct 2011 17:31:33 +0000 (18:31 +0100)] 
Rename traceCapsetModify for consistency and clarity

7 years agoVerify that I can still add tabs to a file already containing them
Max Bolingbroke [Wed, 26 Oct 2011 10:11:37 +0000 (11:11 +0100)] 
Verify that I can still add tabs to a file already containing them

7 years agoFix some validation errors
David Terei [Tue, 25 Oct 2011 22:15:37 +0000 (15:15 -0700)] 
Fix some validation errors

7 years agoAdd some documentation to IOEnv.
David Terei [Tue, 25 Oct 2011 18:07:41 +0000 (11:07 -0700)] 
Add some documentation to IOEnv.