ghc-hetmet.git
14 years agoFix Trac #3813: unused variables in GHCi bindings
simonpj@microsoft.com [Wed, 20 Jan 2010 09:45:33 +0000 (09:45 +0000)]
Fix Trac #3813: unused variables in GHCi bindings

In a GHCi stmt we don't want to report unused variables,
because we don't know the scope of the binding, eg

Prelude> x <- blah

Fixing this needed a little more info about the context of the stmt,
thus the new constructor GhciStmt in the HsStmtContext type.

14 years agoFix Trac #3823, plus warning police in TcRnDriver
simonpj@microsoft.com [Wed, 20 Jan 2010 09:42:21 +0000 (09:42 +0000)]
Fix Trac #3823, plus warning police in TcRnDriver

The immediate reason for this patch is to fix #3823. This was
rather easy: all the work was being done but I was returning
type_env2 rather than type_env3.

An unused-veriable warning would have shown this up, so I fixed all
the other warnings in TcRnDriver.  Doing so showed up at least two
genuine lurking bugs.  Hurrah.

14 years agoChange how RTS libraries get installed; fixes trac #3794
Ian Lynagh [Tue, 19 Jan 2010 23:26:23 +0000 (23:26 +0000)]
Change how RTS libraries get installed; fixes trac #3794

14 years agoEscape some more $s in makefiles, for consistency
Ian Lynagh [Tue, 19 Jan 2010 22:55:33 +0000 (22:55 +0000)]
Escape some more $s in makefiles, for consistency

14 years agoEscape some $s in makefiles for consistency
Ian Lynagh [Tue, 19 Jan 2010 22:14:40 +0000 (22:14 +0000)]
Escape some $s in makefiles for consistency

14 years agoAllow GNU-standard --host, --build, --target configure options (#3637)
Simon Marlow [Tue, 19 Jan 2010 10:28:19 +0000 (10:28 +0000)]
Allow GNU-standard --host, --build, --target configure options (#3637)
Patch contributed by asuffield@suffields.me.uk

14 years agoUpdate some comments about how autoconf/configure works
Ian Lynagh [Mon, 18 Jan 2010 14:59:59 +0000 (14:59 +0000)]
Update some comments about how autoconf/configure works

14 years agoFix a warning message
Ian Lynagh [Mon, 18 Jan 2010 14:20:20 +0000 (14:20 +0000)]
Fix a warning message
We were printing the wrong value, so getting confusing messages like:
    Function `$wa{v s17LO} [lid]'
        has 2 call pattterns, but the limit is 3

14 years agoTeach the alternative layout rule about mdo and rec
Ian Lynagh [Sat, 16 Jan 2010 21:55:45 +0000 (21:55 +0000)]
Teach the alternative layout rule about mdo and rec

14 years agoTeach the alternative layout rule about $( ... )
Ian Lynagh [Sat, 16 Jan 2010 21:39:41 +0000 (21:39 +0000)]
Teach the alternative layout rule about $( ... )
It thought the ) needed to close something, but the $( hadn't
opened anything.

14 years agoFix typo
Ian Lynagh [Sat, 16 Jan 2010 13:49:15 +0000 (13:49 +0000)]
Fix typo

14 years agoRemove declaration of non-existent mark_splim
Simon Marlow [Thu, 31 Dec 2009 10:42:41 +0000 (10:42 +0000)]
Remove declaration of non-existent mark_splim

14 years agofix a comment
Simon Marlow [Wed, 30 Dec 2009 15:08:52 +0000 (15:08 +0000)]
fix a comment

14 years agoremove an unnecessary debug trace, duplicated by a traceSchedEvent
Simon Marlow [Wed, 30 Dec 2009 15:08:32 +0000 (15:08 +0000)]
remove an unnecessary debug trace, duplicated by a traceSchedEvent

14 years agohide modules properly with haddock
Simon Marlow [Wed, 13 Jan 2010 21:03:11 +0000 (21:03 +0000)]
hide modules properly with haddock

14 years agofix for HSCOLOUR_SRCS=NO
Simon Marlow [Wed, 13 Jan 2010 19:15:55 +0000 (19:15 +0000)]
fix for HSCOLOUR_SRCS=NO

14 years agoDo some recompilation avoidance in GHC.loadModule
Simon Marlow [Tue, 12 Jan 2010 22:58:53 +0000 (22:58 +0000)]
Do some recompilation avoidance in GHC.loadModule
GHC.loadModule compiles a module after it has been parsed and
typechecked explicity. If we are compiling to object code and there is
a valid object file already on disk, then we can skip the compilation
step. This is useful in Haddock, when processing a package that uses
Template Haskell and hence needs actual compilation, and the package
has already been compiled.

As usual, the recomp avoidance can be disabled with -fforce-recomp.

14 years agoInvoke Haddock directly from the build system, instead of via Cabal
Simon Marlow [Tue, 12 Jan 2010 22:55:48 +0000 (22:55 +0000)]
Invoke Haddock directly from the build system, instead of via Cabal

Partly this is cleaner as we only have to preprocess the source files
once, but also it is necessary to avoid Haddock recompiling source
files when Template Haskell is in use, saving some time in validate
and fixing a problem whereby when HADDOCK_DOCS=YES, make always
re-haddocks the DPH packages.  This also needs an additional fix to
GHC.

HsColour support still uses Cabal, and hence preprocesses the source
files again. We could move this into the build system too, but there
is a version dependency that would mean adding extra autoconf stuff.

14 years agorefactoring while I try to make sense of the hsc interface
Simon Marlow [Mon, 4 Jan 2010 11:28:33 +0000 (11:28 +0000)]
refactoring while I try to make sense of the hsc interface

14 years agoFix running in-place gen_contents_index; trac #3716
Ian Lynagh [Fri, 8 Jan 2010 13:34:16 +0000 (13:34 +0000)]
Fix running in-place gen_contents_index; trac #3716
It was making incorrect URLs due to a shell script error.

14 years agoRespect SPECIALISE pragmas even for apparently-non-overloaded things
simonpj@microsoft.com [Fri, 8 Jan 2010 08:45:47 +0000 (08:45 +0000)]
Respect SPECIALISE pragmas even for apparently-non-overloaded things

This is an implementation matter really (the key word is "apparently"!).
See Note [Specialising in no-dict case] in DsBinds.

It showed up when compiling GHC.Float.

14 years agoComment out debug warnings; they are fine
simonpj@microsoft.com [Fri, 8 Jan 2010 08:44:28 +0000 (08:44 +0000)]
Comment out debug warnings; they are fine

14 years agoImprove error locations
simonpj@microsoft.com [Thu, 7 Jan 2010 15:32:34 +0000 (15:32 +0000)]
Improve error locations

More on Trac #597

14 years agoSpelling error in comment
simonpj@microsoft.com [Thu, 7 Jan 2010 15:11:27 +0000 (15:11 +0000)]
Spelling error in comment

14 years agoA little refactoring, plus improve error locations
simonpj@microsoft.com [Thu, 7 Jan 2010 15:11:13 +0000 (15:11 +0000)]
A little refactoring, plus improve error locations

Fixes some sub-items of Trac #597

14 years agoClarify error message (Trac #3805)
simonpj@microsoft.com [Thu, 7 Jan 2010 15:10:02 +0000 (15:10 +0000)]
Clarify error message (Trac #3805)

14 years agoComments only
simonpj@microsoft.com [Thu, 7 Jan 2010 15:09:39 +0000 (15:09 +0000)]
Comments only

14 years agoSpecConstr: Remove -fspec-inline-join-points, and add let-binding specialisation
simonpj@microsoft.com [Wed, 6 Jan 2010 16:52:51 +0000 (16:52 +0000)]
SpecConstr: Remove -fspec-inline-join-points, and add let-binding specialisation

The -fspec-inline-join-point thing was a gross hack intended to help
Roman play around, but he's not using it and it was a terribly blunt
instrument so I've nuked it.

Instead I've re-instated the let-binding specialiser.
See Note [Local let bindings]

14 years agoMake SpecConstr more informative output when there are too many specialisations
simonpj@microsoft.com [Wed, 6 Jan 2010 16:10:26 +0000 (16:10 +0000)]
Make SpecConstr more informative output when there are too many specialisations

It now says something like

  SpecConstr
    Function `happyDoAction'
      has 17 call pattterns, but the limit is 3
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations

Previously it just silently did no specialisation

14 years agoMake view patterns right-associate
simonpj@microsoft.com [Wed, 6 Jan 2010 16:06:42 +0000 (16:06 +0000)]
Make view patterns right-associate

So that you can write

   f (v1 -> v2 -> pat)

14 years agoImprove the handling of default methods
simonpj@microsoft.com [Wed, 6 Jan 2010 16:06:03 +0000 (16:06 +0000)]
Improve the handling of default methods

See the long Note [INLINE and default methods].

This patch changes a couple of data types, with a knock-on effect on
the format of interface files.  A lot of files get touched, but is a
relatively minor change.  The main tiresome bit is the extra plumbing
to communicate default methods between the type checker and the
desugarer.

14 years agoPatch for shared libraries support on FreeBSD
Ian Lynagh [Wed, 6 Jan 2010 18:53:21 +0000 (18:53 +0000)]
Patch for shared libraries support on FreeBSD
From Maxime Henrion <mhenrion@gmail.com>

14 years agoFollowing Simon M's "take newCAF() out from sm_mutex" patch
dias@cs.tufts.edu [Tue, 5 Jan 2010 21:15:43 +0000 (21:15 +0000)]
Following Simon M's "take newCAF() out from sm_mutex" patch

14 years agoVery minor refactoring
simonpj@microsoft.com [Tue, 5 Jan 2010 10:18:33 +0000 (10:18 +0000)]
Very minor refactoring

14 years agoUndo the fix for Trac #3772 and do it a new way
simonpj@microsoft.com [Tue, 5 Jan 2010 10:16:00 +0000 (10:16 +0000)]
Undo the fix for Trac #3772 and do it a new way

The main idea is that I'm now treating a single-method dictionary very
much like a multi-method dictionary.  In particular, it respond to
exprIsConApp_maybe, even though newtypes aren't *really* proper
constructors.

See long comments with Note [Single-method classes] for why
this slight hack is justified.

14 years agoFix warnings
simonpj@microsoft.com [Tue, 5 Jan 2010 10:09:45 +0000 (10:09 +0000)]
Fix warnings

14 years agoImprove error message (idea in Trac #3805)
simonpj@microsoft.com [Tue, 5 Jan 2010 09:55:32 +0000 (09:55 +0000)]
Improve error message (idea in Trac #3805)

If we see

   foreign export ccall foo :: ...blah...

we now use the "foreign" to suggest -XForeignFunctionInterface

14 years agoComments only
simonpj@microsoft.com [Tue, 5 Jan 2010 09:53:56 +0000 (09:53 +0000)]
Comments only

14 years agoContinue refactoring the core-to-core pipeline
simonpj@microsoft.com [Thu, 24 Dec 2009 15:46:43 +0000 (15:46 +0000)]
Continue refactoring the core-to-core pipeline

This patch mainly concerns the plumbing for running
the passes and printing intermediate output

14 years agoA bunch of stuff relating to substitutions on core
simonpj@microsoft.com [Thu, 24 Dec 2009 15:39:49 +0000 (15:39 +0000)]
A bunch of stuff relating to substitutions on core

* I was debugging so I added some call-site info
  (that touches a lot of code)

* I used substExpr a bit less in Simplify, hoping to
  make the simplifier a little faster and cleaner

14 years agoRefactor CoreArity a bit
simonpj@microsoft.com [Thu, 24 Dec 2009 15:34:48 +0000 (15:34 +0000)]
Refactor CoreArity a bit

I was experimenting with making coercions opaque to
arity.  I think this is ultimately the right thing to do
but I've left the functionality unchanged for now.

14 years agoWibbles to inlining for small functions
simonpj@microsoft.com [Tue, 22 Dec 2009 16:27:31 +0000 (16:27 +0000)]
Wibbles to inlining for small functions

See Note [INLINE for small functions]

14 years agoPrint out a bit more info with the "arity decrease" waring
simonpj@microsoft.com [Tue, 22 Dec 2009 16:26:06 +0000 (16:26 +0000)]
Print out a bit more info with the "arity decrease" waring

14 years agoMove isDictTy from TcType to Type
simonpj@microsoft.com [Tue, 22 Dec 2009 16:25:50 +0000 (16:25 +0000)]
Move isDictTy from TcType to Type

14 years agoAllow instance heads to use infix syntax
simonpj@microsoft.com [Tue, 22 Dec 2009 16:23:25 +0000 (16:23 +0000)]
Allow instance heads to use infix syntax

  class C a b
  instance Int `C` Bool

This was accidentally disallowed before.

14 years agoFix pretty-printer
simonpj@microsoft.com [Tue, 22 Dec 2009 16:21:30 +0000 (16:21 +0000)]
Fix pretty-printer

14 years agoFix Trac #3792: check for qualified names in import items
simonpj@microsoft.com [Mon, 4 Jan 2010 21:59:50 +0000 (21:59 +0000)]
Fix Trac #3792: check for qualified names in import items

14 years agoFix bugs in STG Lint
simonpj@microsoft.com [Mon, 4 Jan 2010 21:46:59 +0000 (21:46 +0000)]
Fix bugs in STG Lint

The Stg Lint failure reported in Trac #3789 were bogus.
This patch fixes STG Lint, which must have been unused
for ages.

14 years agoRefactor PackageTarget back into StaticTarget
Ben.Lippmeier@anu.edu.au [Mon, 4 Jan 2010 03:15:06 +0000 (03:15 +0000)]
Refactor PackageTarget back into StaticTarget

14 years agoFollow PackageTarget changes in pprCEntity
Ben.Lippmeier@anu.edu.au [Sat, 2 Jan 2010 23:50:53 +0000 (23:50 +0000)]
Follow PackageTarget changes in pprCEntity

14 years agoAssume CmmLabels have dynamic linkage on non-Windows
Ben.Lippmeier.anu.edu.au [Sat, 2 Jan 2010 10:03:34 +0000 (10:03 +0000)]
Assume CmmLabels have dynamic linkage on non-Windows

14 years agoFollow PackageTarget change in byte code generator
Ben.Lippmeier@anu.edu.au [Sat, 2 Jan 2010 09:30:46 +0000 (09:30 +0000)]
Follow PackageTarget change in byte code generator

14 years agoWhen compiling viac, don't need to emit prototypes for symbols in the RTS
Ben.Lippmeier@anu.edu.au [Sat, 2 Jan 2010 09:29:57 +0000 (09:29 +0000)]
When compiling viac, don't need to emit prototypes for symbols in the RTS

14 years agoFollow ForeignLabel changes in PPC NCG
Ben.Lippmeier@anu.edu.au [Sat, 2 Jan 2010 06:23:15 +0000 (06:23 +0000)]
Follow ForeignLabel changes in PPC NCG

14 years agoTag ForeignCalls with the package they correspond to
Ben.Lippmeier@anu.edu.au [Sat, 2 Jan 2010 05:37:54 +0000 (05:37 +0000)]
Tag ForeignCalls with the package they correspond to

14 years agoNicer panic message
Ben.Lippmeier@anu.edu.au [Tue, 29 Dec 2009 10:35:18 +0000 (10:35 +0000)]
Nicer panic message

14 years agoTypo in comment
Ben.Lippmeier@anu.edu.au [Tue, 29 Dec 2009 05:18:58 +0000 (05:18 +0000)]
Typo in comment

14 years agoWindows DLLs: use DLL aware runSparks_closure instead of base_GHCziConc_runSparks_clo...
Ben.Lippmeier@anu.edu.au [Mon, 23 Nov 2009 05:15:10 +0000 (05:15 +0000)]
Windows DLLs: use DLL aware runSparks_closure instead of base_GHCziConc_runSparks_closure directly

14 years agolocateOneObj: don't look for dynamic libs in static mode
Simon Marlow [Sun, 3 Jan 2010 22:36:37 +0000 (22:36 +0000)]
locateOneObj: don't look for dynamic libs in static mode
also replace picIsOn with isDynamicGhcLib, as __PIC__ is not the
correct test for whether the GHC library is dynamically linked.

14 years agoSubstantial improvements to coercion optimisation
simonpj@microsoft.com [Mon, 4 Jan 2010 08:21:55 +0000 (08:21 +0000)]
Substantial improvements to coercion optimisation

The main purpose of this patch is to add a bunch of new rules
to the coercion optimiser.  They are documented in the (revised)
Appendix of the System FC paper.

Some code has moved about:

- OptCoercion is now a separate module, mainly because it
  now uses tcMatchTy, which is defined in Unify, so OptCoercion
  must live higehr up in the hierarchy

- Functions that manipulate Kinds has moved from
  Type.lhs to Coercion.lhs.  Reason: the function typeKind
  now needs to call coercionKind.  And in any case, a Kind is
  a flavour of Type, so it builds on top of Type; indeed Coercions
  and Kinds are both flavours of Type.

  This change required fiddling with a number of imports, hence
  the one-line changes to otherwise-unrelated modules

- The representation of CoTyCons in TyCon has changed.   Instead of
  an extensional representation (a kind checker) there is now an
  intensional representation (namely TyCon.CoTyConDesc).  This was
  needed for one of the new coercion optimisations.

14 years agoWhitespace only
Ian Lynagh [Sat, 2 Jan 2010 22:05:56 +0000 (22:05 +0000)]
Whitespace only

14 years agoUse a shell script, rather than perl script, to make flags.xsl
Ian Lynagh [Thu, 31 Dec 2009 15:50:04 +0000 (15:50 +0000)]
Use a shell script, rather than perl script, to make flags.xsl

14 years agoRolling back: Make FastString thread-safe.
Simon Marlow [Thu, 31 Dec 2009 16:46:51 +0000 (16:46 +0000)]
Rolling back: Make FastString thread-safe.

This patch was the cause of the compile-time performance regression in
#3796.  My guess is that it is due to the use of unsafePerformIO which
traverses the stack up to the first update frame, and perhaps we have
a deep stack when reading the dictionary from a .hi file.  In any
case, since we're not relying on thread safety for FastStrings, I
think the safest thing to do is back this out until we can investigate
further.

14 years agotake newCAF() out from sm_mutex; use the capability-local mut list instead
Simon Marlow [Thu, 31 Dec 2009 16:02:23 +0000 (16:02 +0000)]
take newCAF() out from sm_mutex; use the capability-local mut list instead

14 years agoUse local mut lists in UPD_IND(), also clean up Updates.h
Simon Marlow [Thu, 31 Dec 2009 11:34:35 +0000 (11:34 +0000)]
Use local mut lists in UPD_IND(), also clean up Updates.h

14 years agouse local mut lists rather than global mut lists in sequential GC
Simon Marlow [Thu, 31 Dec 2009 11:31:18 +0000 (11:31 +0000)]
use local mut lists rather than global mut lists in sequential GC

14 years agoAllow throwTo() to be called without a source thread
Simon Marlow [Fri, 18 Dec 2009 16:32:00 +0000 (16:32 +0000)]
Allow throwTo() to be called without a source thread
Returns false if the exception could not be thrown becuase the tartget
thread was running.  Not used yet, but might come in handy later.

14 years agoIf ACTIVITY_INACTIVE is set, wait for GC before resetting it
Simon Marlow [Sun, 13 Dec 2009 20:12:46 +0000 (20:12 +0000)]
If ACTIVITY_INACTIVE is set, wait for GC before resetting it
I don't think this fixes any real bugs, but there's a small
possibility that when the RTS is woken up for an idle-time GC, the IO
manager thread might be pre-empted which would prevent the idle GC
from happening; this change ensures that the idle GC happens anyway.

14 years agoFix rules/build-dependencies.mk on OS X
Ian Lynagh [Wed, 30 Dec 2009 18:52:39 +0000 (18:52 +0000)]
Fix rules/build-dependencies.mk on OS X
Also more comments on why we have the sed rules that we do.

14 years agoCopying Simon M's fix for 650 to the new codegen
dias@cs.tufts.edu [Tue, 22 Dec 2009 22:20:17 +0000 (22:20 +0000)]
Copying Simon M's fix for 650 to the new codegen

14 years agoBetter error checking and code cleanup
dias@cs.tufts.edu [Tue, 22 Dec 2009 22:19:46 +0000 (22:19 +0000)]
Better error checking and code cleanup

14 years agoAdd comments to darcs-all
simonpj@microsoft.com [Mon, 21 Dec 2009 16:05:11 +0000 (16:05 +0000)]
Add comments to darcs-all

The comments explain how darcs-all decides what repo to use

14 years agoFix Trac #3772: dict funs for single-field classes
simonpj@microsoft.com [Mon, 21 Dec 2009 16:04:31 +0000 (16:04 +0000)]
Fix Trac #3772: dict funs for single-field classes

This patch fixes a bug that meant that INLINE pragamas on
a method of a single-field class didn't work properly.

See Note [Single-method classes] in TcInstDcls, and Trac #3772

14 years agoComments only (about implementing SPECIALISE pragmas)
simonpj@microsoft.com [Mon, 21 Dec 2009 15:57:45 +0000 (15:57 +0000)]
Comments only (about implementing SPECIALISE pragmas)

14 years agoA bit of refactoring, plus a sanity check
simonpj@microsoft.com [Mon, 21 Dec 2009 15:56:32 +0000 (15:56 +0000)]
A bit of refactoring, plus a sanity check

Check that a bottoming rhs does indeed get exposed with bottoming strictness
Almost all the changed lines reflect some refactoring of tidyTopIdInfo.

14 years agoFix Trac #3776
simonpj@microsoft.com [Mon, 21 Dec 2009 15:55:09 +0000 (15:55 +0000)]
Fix Trac #3776

An easy fix.  See Note [Usage for sub-bndrs] in RnEnv.

14 years agoMove all the CoreToDo stuff into CoreMonad
simonpj@microsoft.com [Fri, 18 Dec 2009 16:45:21 +0000 (16:45 +0000)]
Move all the CoreToDo stuff into CoreMonad

This patch moves a lot of code around, but has zero functionality change.
The idea is that the types

    CoreToDo
    SimplifierSwitch
    SimplifierMode
    FloatOutSwitches

and

    the main core-to-core pipeline construction

belong in simplCore/, and *not* in DynFlags.

14 years agoAlways expose the unfolding of something with an InlineRule
simonpj@microsoft.com [Fri, 18 Dec 2009 16:43:16 +0000 (16:43 +0000)]
Always expose the unfolding of something with an InlineRule

Previously a bottoming function with a strictness wrapper
had a hidden inlining, and that was Very Bad, because in
    f x = if ... then bot_fun x else x+1
we really want to pass the *unboxed* x to bot_fun. This
happens quite a bit in error handling code, eg for array
indexing.

14 years agoComments only
simonpj@microsoft.com [Fri, 18 Dec 2009 16:41:19 +0000 (16:41 +0000)]
Comments only

14 years agoMove loop-breaker info from original function to worker in work/wrap
simonpj@microsoft.com [Fri, 18 Dec 2009 16:41:07 +0000 (16:41 +0000)]
Move loop-breaker info from original function to worker in work/wrap

When doing a w/w split, if the original function is a loop breaker
then the worker (not the wrapper) becomes one instead.

This isn't very important, because loop breaker information is
recalculated afresh by the occurrence analyser, but it seems more
kosher.  And Lint was bleating piteously about things with InlineRules
that were loop breakers.

14 years agoMake -ddump-inlinings and -ddump-rule-firings less noisy
simonpj@microsoft.com [Fri, 18 Dec 2009 16:37:42 +0000 (16:37 +0000)]
Make -ddump-inlinings and -ddump-rule-firings less noisy

By default, these two now print *one line* per inlining or rule-firing.

If you want the previous (voluminous) behaviour, use -dverbose-core2core.

14 years agoMake warning printing a bit less noisy
simonpj@microsoft.com [Fri, 18 Dec 2009 16:35:49 +0000 (16:35 +0000)]
Make warning printing a bit less noisy

Use -dppr-debug to make it noisy again

14 years agoSet fixity (left-assoc) for setIdOccInfo
simonpj@microsoft.com [Fri, 18 Dec 2009 16:35:13 +0000 (16:35 +0000)]
Set fixity (left-assoc) for setIdOccInfo

14 years agoComments only
simonpj@microsoft.com [Fri, 18 Dec 2009 10:54:34 +0000 (10:54 +0000)]
Comments only

14 years agoAdd an extra heading in the output for count_lines
simonpj@microsoft.com [Fri, 18 Dec 2009 10:54:03 +0000 (10:54 +0000)]
Add an extra heading in the output for count_lines

14 years agoFixes to account for the new layout of MUT_ARR_PTRS (see #650)
Simon Marlow [Mon, 21 Dec 2009 11:52:49 +0000 (11:52 +0000)]
Fixes to account for the new layout of MUT_ARR_PTRS (see #650)

14 years agoPartial support for Haiku (#3727)
Simon Marlow [Mon, 21 Dec 2009 11:02:50 +0000 (11:02 +0000)]
Partial support for Haiku (#3727)

14 years agoFix #3751, also fix some lexical error SrcLocs
Simon Marlow [Thu, 17 Dec 2009 13:26:58 +0000 (13:26 +0000)]
Fix #3751, also fix some lexical error SrcLocs

14 years agokill some old GRAN/PARALLEL_HASKELL code
Simon Marlow [Thu, 17 Dec 2009 10:38:16 +0000 (10:38 +0000)]
kill some old GRAN/PARALLEL_HASKELL code

14 years agoimprove panic messages for srcLocLine, srcLocCol
Simon Marlow [Thu, 17 Dec 2009 10:38:01 +0000 (10:38 +0000)]
improve panic messages for srcLocLine, srcLocCol

14 years agoTweak the build-dependencies rule, and add comments for it
Ian Lynagh [Sat, 19 Dec 2009 14:58:08 +0000 (14:58 +0000)]
Tweak the build-dependencies rule, and add comments for it

14 years agoWhen removing $(TOP) with sed, do so case insensitively
Ian Lynagh [Sat, 19 Dec 2009 13:53:39 +0000 (13:53 +0000)]
When removing $(TOP) with sed, do so case insensitively
This avoids problems on Windows, where drive letters may not be the
case we expect.

14 years agoFix a braino in a comment
Ian Lynagh [Fri, 18 Dec 2009 21:35:41 +0000 (21:35 +0000)]
Fix a braino in a comment

14 years agoAvoid a failing shell command when cleaning
Ian Lynagh [Fri, 18 Dec 2009 20:11:46 +0000 (20:11 +0000)]
Avoid a failing shell command when cleaning
It wasn't fatal, but better to avoid it anyway

14 years agoFix another sed problem on Solaris
Ian Lynagh [Thu, 17 Dec 2009 00:04:21 +0000 (00:04 +0000)]
Fix another sed problem on Solaris

14 years agounused named variables
dias@cs.tufts.edu [Fri, 18 Dec 2009 19:54:30 +0000 (19:54 +0000)]
unused named variables

14 years agomissed a case in a previous fix
dias@cs.tufts.edu [Thu, 17 Dec 2009 21:04:43 +0000 (21:04 +0000)]
missed a case in a previous fix

Here's the obscure problem:
-- However, we also want to allow an assignment to be generated
-- in the case when the types are compatible, because this allows
-- some slightly-dodgy but occasionally-useful casts to be used,
-- such as in RtClosureInspect where we cast an HValue to a MutVar#
-- so we can print out the contents of the MutVar#.  If we generate
-- code that enters the HValue, then we'll get a runtime panic, because
-- the HValue really is a MutVar#.  The types are compatible though,
-- so we can just generate an assignment.

14 years agoFix #650: use a card table to mark dirty sections of mutable arrays
Simon Marlow [Thu, 17 Dec 2009 22:42:28 +0000 (22:42 +0000)]
Fix #650: use a card table to mark dirty sections of mutable arrays
The card table is an array of bytes, placed directly following the
actual array data.  This means that array reading is unaffected, but
array writing needs to read the array size from the header in order to
find the card table.

We use a bytemap rather than a bitmap, because updating the card table
must be multi-thread safe.  Each byte refers to 128 entries of the
array, but this is tunable by changing the constant
MUT_ARR_PTRS_CARD_BITS in includes/Constants.h.

14 years agoFix build with Solaris sed
Ian Lynagh [Wed, 16 Dec 2009 20:43:54 +0000 (20:43 +0000)]
Fix build with Solaris sed
Rather than trying to handle tabs with sed portably, we just use tr to
remove them before we start.

14 years agoBuild and install inplace the count_lines and compareSizes utils
Ian Lynagh [Wed, 16 Dec 2009 16:56:08 +0000 (16:56 +0000)]
Build and install inplace the count_lines and compareSizes utils