Small adjustment to the check command with --simple-output
Lennart Kolmodin
kolmodin at dtek.chalmers.se
Sun Nov 26 09:44:24 EST 2006
Hi,
just in time for the first 'check' command patch has been applied, I've
got a small adjustment.
This one makes the output of check with --simple-output a little more
like list's.
Sun Nov 26 14:27:08 CET 2006 Lennart Kolmodin <kolmodin at dtek.chalmers.se>
* Make option check's simple-output more like list's
Don't line wrap, and only use space as separator.
Cheers,
Lennart Kolmodin
--
"The only thing that interferes with my learning is my education."
-- Albert Einstein
-------------- next part --------------
New patches:
[Make option check's simple-output more like list's
Lennart Kolmodin <kolmodin at dtek.chalmers.se>**20061126132708
Don't line wrap, and only use space as separator.
] {
hunk ./utils/ghc-pkg/Main.hs 593
- mapM_ (putStrLn . render . show_func) broken_pkgs
+ mapM_ (putStrLn . show_func) broken_pkgs
hunk ./utils/ghc-pkg/Main.hs 596
- | otherwise = show_normal
+ | otherwise = render . show_normal
hunk ./utils/ghc-pkg/Main.hs 598
- text (showPackageId pid) <> colon
- <+> fsep (punctuate comma (map (text . showPackageId) deps))
+ showPackageId pid ++ ": " ++ unwords (map showPackageId deps)
}
Context:
[Add some Outputable instances
Ian Lynagh <igloo at earth.li>**20061125152307]
[Change a comma to a colon
Ian Lynagh <igloo at earth.li>**20061125003444]
[Fix constraint handling for lazy patterns
simonpj at microsoft.com**20061124230548
Lazy patterns are quite tricky! Consider
f ~(C x) = 3
Can the Num constraint from the 3 be discharged by a Num dictionary
bound by the pattern? Definitely not!
See Note [Hopping the LIE in lazy patterns] in TcPat
The type checker wasn't ensuring this, and that was causing all
manner of strange things to happen. It actually manifested as a
strictness bug reported by Sven Panne.
I've added his test case as tcrun040.
]
[Warning police: Removed unused variable
sven.panne at aedion.de**20061124175900]
[small stats fix
Simon Marlow <simonmar at microsoft.com>**20061124162512]
[Make SpecConstr more aggressive, by neglecting reboxing
simonpj at microsoft.com**20061124132054
SpecConstr was conservative about avoiding reboxing (see Note [Reboxing])
but that meant it lost useful opportunities. This patch makes it much
more aggressive, but at the risk of doing some reboxing.
Actually, the strictness analyser has the same property (it's possible
for it to generate reboxing code, and thus increase allocation), but we
don't worry so much about that. Maybe we should.
Ideally, one would do some more sophisticated analysis that spotted
the reboxing cases without excluding the useful ones.
But meanwhile, let's try this.
]
[Drop redundant parens in pretty-printing
simonpj at microsoft.com**20061124131813]
[Improve handling of implicit parameters
simonpj at microsoft.com**20061124122120
A message to Haskell Cafe from Grzegorz Chrupala made me realise that
GHC was not handling implicit parameters correctly, when it comes to
choosing the variables to quantify, and ambiguity tests. Here's the
note I added to TcSimplify:
Note [Implicit parameters and ambiguity]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
What type should we infer for this?
f x = (show ?y, x::Int)
Since we must quantify over the ?y, the most plausible type is
f :: (Show a, ?y::a) => Int -> (String, Int)
But notice that the type of the RHS is (String,Int), with no type
varibables mentioned at all! The type of f looks ambiguous. But
it isn't, because at a call site we might have
let ?y = 5::Int in f 7
and all is well. In effect, implicit parameters are, well, parameters,
so we can take their type variables into account as part of the
"tau-tvs" stuff. This is done in the function 'FunDeps.grow'.
The actual changes are in FunDeps.grow, and the tests are
tc219, tc219
]
[Fix name-capture bug in rule matching
simonpj at microsoft.com**20061124111158
The matching algorithm for RULES should respect alpha-conversion, but it
wasn't doing so. In particular, if the names of the template variables
clashed with a variable in scope at the call site, bad things could happen
(it showed up as a CoreLint failure when compiling nofib/real/parser)
This patch fixes the problem; see Note [Template binders]
Test is in simplCore/should_compile/spec002, but nofib -O2 in
real/parser, real/fulsom
]
[Improve hashing of expressions
simonpj at microsoft.com**20061124110926
We were getting too many cases where different expressions map to the
same hash code (which shows up in CSE). This patch tries to improve
the hash algorithm a bit.
]
[Use existing Ord instance on Int, saving code
simonpj at microsoft.com**20061124110830]
[Use existing function uniqAway instead of duplicating code
simonpj at microsoft.com**20061124110750]
[Gather constraints in program order
simonpj at microsoft.com**20061124084011
Provoked by a suggestion of Simon's, this patch makes a half-hearted attempt
to gather constraints in program order, so that we tend to report an error
at its first occurrence, rather than its last. Examples:
mdofail001, tcfail015
It's "half-hearted" because generally-speaking the typechecker does not
guaranteed to keep constraints in order; it treats them as a set. Nevertheless
this very small change seems to improve matters, so it seems a good one.
]
[Simplify TcSimplify, by removing Free
simonpj at microsoft.com**20061123171602
For a long time TcSimplify used a three-way classification of constraints,
into Free
Irred
ReduceMe
(see the data type WhatToDo). In the new world of implication constraints,
the Free case does not make so much sense, and I managed to elminate it
altogether, thus simplifying the story somewhat. Now WhatToDo has constructors
Stop
ReduceMe
There should be no change in behaviour.
]
[fix failing assertion
Simon Marlow <simonmar at microsoft.com>**20061123135825]
[Improve recovery in hptRules
simonpj at microsoft.com**20061122173415]
[Refactoring of where tcSimplifyTop happens
simonpj at microsoft.com**20061122135121
We want to do tcSimplifyTop after checkMain, because checkMain can add
useful type information that eliminates ambiguity. E.g.
main = return undefined
This is the way it used to be in 6.6, and I think I mistakenly moved it
when doing implication constraints. This patch effectively puts it back
the way it was.
Cures the cg053 failure.
]
[Retain simplifications of implication constraints
simonpj at microsoft.com**20061122132844
When simplifying an implication constraint (reduceImplication), if we make
progress, make a new implication constraint for the result. If we don't
do this, we get a constraint that can be simplified in a unique way,
and that in turn confuses reportNoInstance
]
[Improve error messages slightly
simonpj at microsoft.com**20061122132821]
[refactor code for memInventory()
Simon Marlow <simonmar at microsoft.com>**20061122101906]
[allocatePinned(): fix n_large_blocks count after allocating a new block
Simon Marlow <simonmar at microsoft.com>**20061122101808]
[fix bug in memInventory() giving false memory leak errors
Simon Marlow <simonmar at microsoft.com>**20061122101604
fixes ffi009(threaded1)
]
[Remove the concept of stableRoots.
Lemmih <lemmih at gmail.com>**20061121193701
StableRoots opened new possibilities in the world
of plugins with their ability to link partially
applied closures against object code.
Exporting '(fn pluginwideState)' severely reduced
the complexity of HIDE's plugin system. The previous
system of global variables was both fragile and hard
to scale.
Good bye, StableRoots. We sure had some fun.
]
[small fix to DEBUG case in coalesce/freeGroup patch
Simon Marlow <simonmar at microsoft.com>**20061121163416]
[optimisation to freeGroup() to avoid an O(N^2) pathalogical case
Simon Marlow <simonmar at microsoft.com>**20061121134551
In the free list, we don't strictly speaking need to have every block
in a coalesced group point to the head block, although this is an
invariant for non-free blocks. Dropping this invariant for the free
list means that coalesce() is O(1) rather than O(N), and freeGroup()
is therefore O(N) not O(N^2).
The bad case probably didn't happen most of the time, indeed it has
never shown up in a profile that I've seen. I had a report from a
while back that this was a problem with really large heaps, though.
Fortunately the fix is easy.
]
[Fix ":i Maybe", noticed by Claus Reinke
Ian Lynagh <igloo at earth.li>**20061121132132
It looks like this was just commented out while FC was being developed.
]
[put the unsafeCoerce trace inside DEBUG, to avoid test failures
Simon Marlow <simonmar at microsoft.com>**20061121093748]
[Fix printf$LDBLStub workaround for Darwin
wolfgang.thaller at gmx.net**20061121004953
Apparently, the original fix never really worked due to typos and oversights.
]
[Mac OS X mangler: follow some minor gcc changes
wolfgang.thaller at gmx.net**20061120171553]
[Add ppr for the MKPAP case, and rearrange the other cases to match the datatype
Ian Lynagh <igloo at earth.li>**20061120155352]
[Avoid problems with unaligned loads on alpha/mips/mipsel/arm
Ian Lynagh <igloo at earth.li>**20061120154914
This is overly conservative, but it works.
]
[reorganise PAPI configuration: off by default, even if library is found
Simon Marlow <simonmar at microsoft.com>**20061120143657
Add GhcRtsWithPapi=YES to mk/build.mk to turn it on
]
[No special Papi measurements taken by default
mrchebas at gmail.com**20061109081120]
[whitespace
Simon Marlow <simonmar at microsoft.com>**20061120142550]
[Cosmetic improvements, no change in Papi functionality.
mrchebas at gmail.com**20061109080400]
[better error messages when PAPI_library_init() fails
Simon Marlow <simonmar at microsoft.com>**20061120142738]
[alter PAPI help message slightly
Simon Marlow <simonmar at microsoft.com>**20061120142722]
[Added configure gadgets to detect Papi, and fixed build problems
'Alexey Rodriguez <mrchebas at gmail.com>'**20061109120414]
[Selection of PAPI events via RTS command line
mrchebas at gmail.com**20061109075746]
[Addition of PAPI to RTS
mrchebas at gmail.com**20061108171452
This patch still requires the addition of the USE_PAPI
define to compile with PAPI. Also, programs must be
compiled and linked with the appropriate library flags
for papi.
]
[Don't force -static on mips
Ian Lynagh <igloo at earth.li>**20061120122305]
[Don't make ghc threaded if GhcNotThreaded is YES
Ian Lynagh <igloo at earth.li>**20061120121631]
[Cope with big endian float word order on little endian machines
Ian Lynagh <igloo at earth.li>**20061120121309]
[Emit .bat versions of -inplace scripts on Windows platforms (Cabal-friendlier)
sof at galois.com**20061117012343]
[Emit .bat version of -inplace script on Windows platforms
sof at galois.com**20061117012239]
[restore compilation with 5.04
Simon Marlow <simonmar at microsoft.com>**20061115104322]
[remove unused includes, now that Storage.h & Stable.h are included by Rts.h
Simon Marlow <simonmar at microsoft.com>**20061115104111]
[move newSpark() prototype to RtsExternal.h to avoid warnings
Simon Marlow <simonmar at microsoft.com>**20061107115430]
[mark stop event handle as invalid once closed, making shutdowns more graceful.
sof at galois.com**20061016223516]
[simplify the generated C a little by removing some casts.
Simon Marlow <simonmar at microsoft.com>**20061114162846]
[fix types in generated C for comparison MachOps
Simon Marlow <simonmar at microsoft.com>**20061114160027
C comparisons have type 'int', but our generated code assumed they had
type 'StgWord', leading to (very) occasional warnings from gcc.
]
[Remove unused Name imort, and add a comment explaining why pragmas are disabled
Ian Lynagh <igloo at earth.li>**20061114131459]
[Document new -L RTS flag
Ian Lynagh <igloo at earth.li>**20061114113542]
[Be compatible with older C standards
Ian Lynagh <igloo at earth.li>**20061114112514]
[hp2ps_config_mk
Ravi Nanavati <ravi at bluespec.com>**20060929225418
Add variables for hp2ps to config.mk.in
]
[hp_slash_fix
Ravi Nanavati <ravi at bluespec.com>**20060929225324
Fix output of cost-centre stacks so that the slashes appear in the correct place
Please include this patch in the 6.6 branch as well as HEAD
]
[rts_ccs_length
Ravi Nanavati <ravi at bluespec.com>**20060929225115
Add the -L RTS flag to control the length of the cost-centre stacks reported in
a heap profile.
Please include this change in the 6.6 branch as well as HEAD
]
[multipage_hp2ps
Ravi Nanavati <ravi at bluespec.com>**20060929224739
Add support for splitting the key index over multiple pages in hp2ps
Multipage support can be requested with the -M command-line flag
or inferred if the number of bands requested is greater than 20
(the limit on the number of bands displayed has been removed)
Please include this change in the 6.6 branch as well as HEAD
]
[Fix (yet another) odd interaction between selector thunks and compacting GC
Simon Marlow <simonmar at microsoft.com>**20061114123157
This should fix errors of the form
internal error: scavenge_mark_stack: unimplemented/strange closure
type 28 @ 0x2b92e5f79960
But since it's quite difficult to reproduce the error, I can't be 100%
certain it's gone. I certainly can't reproduce it again after the
fix, anyway.
]
[Add literal-shift rewrite rules
simonpj at microsoft.com**20061113093501
This is a re-factored version of Sam Bronson's patch
Need to take care with logical shifts.
]
[Fixups to PelRules (esp using intResult, wordResult)
simonpj at microsoft.com**20061113090517
In PrelRules we carefully use 'intResult' to trim off the overflow in
compile-time calculations, but we were not doing so consistently. This
patch fixes that, I think, and adds type signatures
]
[Fix typo "comand" (trac #965)
Ian Lynagh <igloo at earth.li>**20061112170946]
[Zap stray whitespace in lhs formatting
Samuel Bronson <naesten at gmail.com>**20061110183633]
[Fix up .lhs delimiters a bit
Samuel Bronson <naesten at gmail.com>**20061104015642]
[find fop.sh
claus.reinke at talk21.com**20061109164054
the fop bundle contains fop.bat and fop.sh, but not fop;
let configuration find the latter.
]
[Doc nit in OccName
Samuel Bronson <naesten at gmail.com>**20061108192115]
[Remove STANDALONE_PACKAGE bits that had escaped the removal
Ian Lynagh <igloo at earth.li>**20061110182050]
[Make StablePtr and friends visible, this seems to be necessary for 64bit architectures
sven.panne at aedion.de**20061110171626]
[Make all needed prototypes visible to avoid warnings
sven.panne at aedion.de**20061110162743]
[Added a comment about se.info.type being used uninitialized
sven.panne at aedion.de**20061110162654]
[Added a workaround for format specifier mismatch
sven.panne at aedion.de**20061110162616]
[Use implication constraints to improve type inference
simonpj at microsoft.com**20061110133123]
[Cosmetics and debug printing only
simonpj at microsoft.com**20061110131513]
[Cosmetics only
simonpj at microsoft.com**20061110131345]
[Add HsUtils.unguardedGRHSs, and use it
simonpj at microsoft.com**20061110131250]
[Comments and cosmetics only
simonpj at microsoft.com**20061110131036]
[Add new utility function, partitionWith
simonpj at microsoft.com**20061110130836]
[Trim imports
simonpj at microsoft.com**20061110130814]
[Patch to demand analyser, to handle polymorphism in zipWithDmds
simonpj at microsoft.com**20061110130726]
[Do not print HsDoc field when pretty-printing patterns (messes up error message)
simonpj at microsoft.com**20061108094813]
[use the right $(HC) for stage 3
Simon Marlow <simonmar at microsoft.com>**20061109101753]
[remove unused STANDALONE_PACKAGE stuff
Simon Marlow <simonmar at microsoft.com>**20061109101729]
[update flag settings after files were relocated
Simon Marlow <simonmar at microsoft.com>**20061108103806]
[Comment out deeply suspicious (and unused) function insertStableSymbol
simonpj at microsoft.com**20061107171336
The function insertStableSymbol looks utterly wrong, because it
coerces a value of type 'a' to an Addr#! That was in turn making the
code generator get confused (now improved), but since insertStableSymbol
isn't used at all, I'm just commenting it out.
Meanwhile, this patch also enhances CoreToStg to report the most egregious
cases where an unsafe coerce is going to confuse the code generator.
]
[Layout and comments only
simonpj at microsoft.com**20061107171040]
[Warn only of explicit imports that are unused (test is mod177)
simonpj at microsoft.com**20061106161212
This is really a long-standing bug. See test mod177.
]
[Various debugging print changes; nothing exciting
simonpj at microsoft.com**20061106160244]
[Tidy up substitutions
simonpj at microsoft.com**20061106155901
The new simplifer stuff exposed the fact that the invariants on the
TvSubstEnv and IdSubstEnv were insufficiently explicit. (Resulted in
a bug found by Sam Brosnon.)
This patch fixes the bug, and tries to document the invariants pretty
thoroughly. See
Note [Extending the TvSubst] in Type
Note [Extenting the Subst] in CoreSubst
(Most of the new lines are comments.)
]
[Get External Core (-fext-core) working with readline
Samuel Bronson <naesten at gmail.com>**20061101003649
Had to add support for dynamic C calls and for foreign labels (Addr#
constants). Actually I only did the printing side -- parsing is not
done yet. But at least now you can build the libraries with -fext-core.
I also got the function arrow to print out properly again (it was
printing fully-qualified and z-coded!)
I also added a field for calling convention name to the External
data constructor in ExternalCore.Exp (for static C calls).
I'm not exactly sure where to document all of this, so I haven't done
that, though I did comment the code a bit.
]
[Remove pre-5.04 code
Ian Lynagh <igloo at earth.li>**20061024011026]
[ghc-pkg: New command 'check' and made 'list' indicate broken packages
Lennart Kolmodin <kolmodin at dtek.chalmers.se>**20061105183851
Command 'check': print a list of all packages that are broken and
which dependencies they are missing.
Command 'list': updated by making it put brackets around broken
packages.
]
[Major overhaul of the Simplifier
simonpj at microsoft.com**20061101164329
This big patch completely overhauls the Simplifier. The simplifier
had grown old and crufty, and was hard to understand and maintain.
This new version is still quite complicated, because the simplifier
does a lot, but it's much easier to understand, for me at least.
It does mean that I have touched almost every line of the simplifier,
so the diff is a large one.
Big changes are these
* When simplifying an Expr we generate a simplified Expr plus a
bunch of "floats", which are bindings that have floated out
of the Expr. Before, this float stuff was returned separately,
but not they are embedded in the SimplEnv, which makes the
plumbing much easier and more robust. In particular, the
SimplEnv already meaintains the "in-scope set", and making
that travel with the floats helps to ensure that we always
use the right in-scope set.
This change has a pervasive effect.
* Rather than simplifying the args of a call before trying rules
and inlining, we now defer simplifying the args until both
rules and inlining have failed, so we're going to leave a
call in the result. This avoids the risk of repeatedly
simplifying an argument, which was handled by funny ad-hoc
flags before.
The downside is that we must apply the substitution to the args before
rule-matching; and if thep rule doesn't match that is wasted work.
But having any rules at all is the exception not the rule, and the
substitution is lazy, so we only substitute until a no-match is found.
The code is much more elegant though.
* A SimplCont is now more zipper-like. It used to have an embedded
function, but that was a bit hard to think about, and now it's
nice and consistent. The relevant constructors are StrictArg
and StrictBind
* Each Rule now has an *arity* (gotten by CoreSyn.ruleArity), which
tells how many arguments it matches against. This entailed adding
a field ru_nargs to a BuiltinRule. And that made me look at
PrelRules; I did quite a bit of refactoring in the end, so the
diff in PrelRules looks much biggger than it really is.
* A little refactoring in OccurAnal. The key change is that in
the RHS of x = y `cast` co
we regard 'y' as "many", so that it doesn't get inlined into
the RHS of x. This allows x to be inlined elsewhere. It's
very like the existing situation for
x = Just y
where we treat 'y' as "many".
]
[Improve error message from ghc --make when filename and modulename differ
simonpj at microsoft.com**20061102123111]
[Improve handling of unused imports (test is mod75)
simonpj at microsoft.com**20061102120441]
[Remove unused lookupDeprec function
simonpj at microsoft.com**20061102120402]
[Fix handling of non-in-scope exports (fixes test mod7)
simonpj at microsoft.com**20061102120304]
[Comments and layout only
simonpj at microsoft.com**20061102093954]
[import Maybes wibble
sof at galois.com**20061101221108]
[add a few #includes to make it compile
sof at galois.com**20061101220950]
[Trim imports
simonpj at microsoft.com**20061101173439]
[Default the kind of unconstrained meta-type variables before tcSimplifyTop
simonpj at microsoft.com**20061101173325
This patch fixes a long standing bug, Trac #179,
and a recently reported one, Trac #963.
The problem in both cases was an unconstrained type variable 'a', of kind
argTypeKind (printed "??") or openTypeKind ("?"). At top level we now default
the kind of such variables to liftedTypeKind ("*"). This is important because
then instance declarations can match it. The defaulting function is called
TcMType.zonkTopTyVar, and is commented. (Most of the extra lines in the
patch are comments!)
]
[Comments and layout only
simonpj at microsoft.com**20061101170448]
[Minor refactoring
simonpj at microsoft.com**20061101143416]
[Remove unused import
simonpj at microsoft.com**20061101142550]
[Comments only
simonpj at microsoft.com**20061101142343]
[Make idInfo fail more informatively on TyVars
simonpj at microsoft.com**20061101142246]
[Improve error message (push to 6.6 branch)
simonpj at microsoft.com**20061101123727]
[Fix error reporting for contexts during deriving (Trac 958)
simonpj at microsoft.com**20061101122120
When doing the fixpoint iteration for 'deriving' we have to be careful
not to end up in a loop, even if we have -fallow-undecidable-instances.
Test is tcfail169
]
[Fix a long-standing but obscure bug in worker-wrapper generation
simonpj at microsoft.com**20061101110442
Worker/wrapper generation sometimes has to add a dummy void (State#) argument
to retain laziness. But when generating the strictness signature for the
worker, I forgot to take account of the extra argument, resulting in a
bogus strictness signature.
Result, chaos. Trac 317 shows this up, and this patch fixes it.
]
[Move --help, --version etc to 4.4 (modes) because that is what they really are
simonpj at microsoft.com**20061030135204]
[remove the *.raw files
Simon Marlow <simonmar at microsoft.com>**20061027152129]
[improve the diagnostic generated by memInventory() for a memory leak
Simon Marlow <simonmar at microsoft.com>**20061027133611]
[count mut-list bytes, not words
Simon Marlow <simonmar at microsoft.com>**20061027133445]
[fix calculation of GC Work for 6.6+
Simon Marlow <simonmar at microsoft.com>**20061027103439]
[copyright updates and add Commentary links
Simon Marlow <simonmar at microsoft.com>**20061026092536]
[rename spin lock functions, and use macros for non-THREADED_RTS
Simon Marlow <simonmar at microsoft.com>**20061026091814]
[Remove PAR/GRAN code from the storage manager
Simon Marlow <simonmar at microsoft.com>**20061025111114
]
[markRootPtrTable: write out type in full instead of using evac_fn typedef
Simon Marlow <simonmar at microsoft.com>**20061026085418
Fixes stage 2 build with -fvia-C
]
[an expression with a TickBox round it is not in HNF.
andy at galois.com**20061025203829]
[Adding arrows to the acceptable code for hpc
andy at galois.com**20061025201514]
[fixing type error inside Hpc inc; we had a 32 bit '1'.
andy at galois.com**20061025201422]
[Improving error message in CmmLint
andy at galois.com**20061025201338]
[Changing Main.tix to <prog_name>.tix in the Hpc RTS
andy at galois.com**20061025201229]
[Add pointer to coding conventions to HACKING
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20061025164331]
[6.4 compatiblity
andy at galois.com**20061025075900]
[Haskell Program Coverage
andy at galois.com**20061024212907
This large checkin is the new ghc version of Haskell
Program Coverage, an expression-level coverage tool for Haskell.
Parts:
- Hpc.[ch] - small runtime support for Hpc; reading/writing *.tix files.
- Coverage.lhs - Annotates the HsSyn with coverage tickboxes.
- New Note's in Core,
- TickBox -- ticked on entry to sub-expression
- BinaryTickBox -- ticked on exit to sub-expression, depending
-- on the boolean result.
- New Stg level TickBox (no BinaryTickBoxes, though)
You can run the coverage tool with -fhpc at compile time.
Main must be compiled with -fhpc.
]
[fix 5.04 compile
Simon Marlow <simonmar at microsoft.com>**20061024133943]
[fix indentation wibble to make it compile with 5.04
Simon Marlow <simonmar at microsoft.com>**20061024122800]
[Re-enable TABLES_NEXT_TO_CODE for powerpc (was accidentally disabled)
wolfgang.thaller at gmx.net**20061023203321]
[Split GC.c, and move storage manager into sm/ directory
Simon Marlow <simonmar at microsoft.com>**20061024091357
In preparation for parallel GC, split up the monolithic GC.c file into
smaller parts. Also in this patch (and difficult to separate,
unfortunatley):
- Don't include Stable.h in Rts.h, instead just include it where
necessary.
- consistently use STATIC_INLINE in source files, and INLINE_HEADER
in header files. STATIC_INLINE is now turned off when DEBUG is on,
to make debugging easier.
- The GC no longer takes the get_roots function as an argument.
We weren't making use of this generalisation.
]
[fix a printf format warning
Simon Marlow <simonmar at microsoft.com>**20061024091323]
[add prototypes for exitHashTable()
Simon Marlow <simonmar at microsoft.com>**20061020102934]
[remove ^Ms
Simon Marlow <simonmar at microsoft.com>**20061019141218]
[add pure spin locks
Simon Marlow <simonmar at microsoft.com>**20061019135620]
[comments only: document allocateLocal()
Simon Marlow <simonmar at microsoft.com>**20061019101200]
[rename allocated_bytes() to allocatedBytes()
Simon Marlow <simonmar at microsoft.com>**20061019101129]
[remove performGCWithRoots()
Simon Marlow <simonmar at microsoft.com>**20061019101102
I don't think this can ever be useful, because to add more roots you
need to do it consistently for every GC. The right way to add roots
is to use newStablePtr.
]
[Bump the HEAD to 6.7
Ian Lynagh <igloo at earth.li>**20061024003553]
[Clean up debugging code in RnNames
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20061023180503]
[wibble in parseStaticFlags
Simon Marlow <simonmar at microsoft.com>**20061023145817
should fix profiling and unreg in HEAD
]
[Improve error messages for indexed types
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20061022171212]
[A little abstraction
basvandijk at home.nl**20061019152328]
[Fix handling of family instances in the presense of this doc stuff
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20061022004904
- Not sure whether I do the right thing, because I don't understand the
doc stuff. However, the original code was definitely wrong and
breaking the renaming of family instance declarations.
- The important point is that in
data instance T pats = rhs
T is *not* a defining occurence of T (similarly as C is not a defining
occurence in "instance C Int").
]
[TAG 2006-10-22
Ian Lynagh <igloo at earth.li>**20061022003640]
Patch bundle hash:
d02340d7700429d5058dc0a1d658497ac039422c
More information about the Cvs-ghc
mailing list