Ticket #4249: completion.2.patch

File completion.2.patch, 117.4 KB (added by boris, 4 years ago)

adopted to the new Haskeline

Line 
1Wed Sep  1 19:01:53 EEST 2010  lykahb@gmail.com
2  * Remove context completion
3  Now completion suggests to remove only modules added to context before.
4
5New patches:
6
7[Remove context completion
8lykahb@gmail.com**20100901160153
9 Ignore-this: dc61b259dcb7063f0c76f56788b5d2af
10 Now completion suggests to remove only modules added to context before.
11] {
12hunk ./ghc/InteractiveUI.hs 143
13   ("kind",      keepGoing' kindOfType,          completeIdentifier),
14   ("load",      keepGoingPaths loadModule_,     completeHomeModuleOrFile),
15   ("list",      keepGoing' listCmd,             noCompletion),
16-  ("module",    keepGoing setContext,           completeModule),
17+  ("module",    keepGoing setContext,           completeSetModule),
18   ("main",      keepGoing runMain,              completeFilename),
19   ("print",     keepGoing printCmd,             completeExpression),
20   ("quit",      quit,                           noCompletion),
21hunk ./ghc/InteractiveUI.hs 1714
22   return $ filter (w `isPrefixOf`)
23         $ map (showSDoc.ppr) $ loaded_mods ++ pkg_mods
24 
25+completeSetModule = wrapIdentCompleterWithModifier "+-" $ \m w -> do
26+  modules <- case m of
27+    Just '-' -> do
28+      (toplevs, exports) <- GHC.getContext
29+      return $ map GHC.moduleName (nub (map fst exports) ++ toplevs)
30+    otherwise -> do
31+      dflags <- GHC.getSessionDynFlags
32+      let pkg_mods = allExposedModules dflags
33+      loaded_mods <- liftM (map GHC.ms_mod_name) getLoadedModules
34+      return $ loaded_mods ++ pkg_mods
35+  return $ filter (w `isPrefixOf`) $ map (showSDoc.ppr) modules
36+
37 completeHomeModule = wrapIdentCompleter listHomeModules
38 
39 listHomeModules :: String -> GHCi [String]
40hunk ./ghc/InteractiveUI.hs 1763
41 wrapIdentCompleter :: (String -> GHCi [String]) -> CompletionFunc GHCi
42 wrapIdentCompleter = wrapCompleter word_break_chars
43 
44+wrapIdentCompleterWithModifier :: String -> (Maybe Char -> String -> GHCi [String]) -> CompletionFunc GHCi
45+wrapIdentCompleterWithModifier modifChars fun = completeWordWithPrev Nothing word_break_chars
46+    $ \rest -> fmap (map simpleCompletion) . fmap sort . fun (getModifier rest)
47+ where
48+  getModifier = find (`elem` modifChars)
49+
50 allExposedModules :: DynFlags -> [ModuleName]
51 allExposedModules dflags
52  = concat (map exposedModules (filter exposed (eltsUFM pkg_db)))
53}
54
55Context:
56
57[Finish breaking up VectBuiltIn and VectMonad, and add comments
58benl@ouroborus.net**20100831100724
59 Ignore-this: 65604f3d22d03433abc12f10be40050d
60]
61[Fix warnings
62benl@ouroborus.net**20100830083746
63 Ignore-this: 2a0e000985f694582a6f9a9261ff2739
64]
65[Break up vectoriser builtins module
66benl@ouroborus.net**20100830070900
67 Ignore-this: b86bd36a7875abdcf16763902ba2e637
68]
69[Move VectCore to Vectorise tree
70benl@ouroborus.net**20100830053415
71 Ignore-this: d5763ca6424285b39a58c7792f4a84a1
72]
73[Split out vectoriser environments into own module
74benl@ouroborus.net**20100830050252
75 Ignore-this: 5319111c74831394d2c29b9aedf5a766
76]
77[Comments and formatting to vectoriser, and split out varish stuff into own module
78benl@ouroborus.net**20100830042722
79 Ignore-this: d3f0c98ed8124dd0fca9a2ccea3e15fd
80]
81[Fix warnings
82benl@ouroborus.net**20100830040340
83 Ignore-this: d6cfad803ad4617e7fdaa62e4a895282
84]
85[Fix warning about multiply exported name
86benl@ouroborus.net**20100830035243
87 Ignore-this: 27ce2c1d22d9f99929d16a426343044e
88]
89[Vectorisation of method types
90benl@ouroborus.net**20100830032941
91 Ignore-this: 75614571d5c246a4906edb3b39ab1e0b
92]
93[Comments and formatting to vectoriser
94benl@ouroborus.net**20100830032516
95 Ignore-this: fe665b77108501c7960d858be3290761
96]
97[Implement -dsuppress-module-prefixes
98benl@ouroborus.net**20100830032428
99 Ignore-this: 2bb8bad9c60ef9044132bba118010687
100]
101[Whitespace only
102benl@ouroborus.net**20100527045629
103 Ignore-this: 4c160dfa77727e659817b6af9c84684a
104]
105[Disambiguate a function name
106Ian Lynagh <igloo@earth.li>**20100828225827]
107[users_guide.xml is now generated
108Ian Lynagh <igloo@earth.li>**20100828225751]
109[Pass more -pgm flags in the ghc wrapper; fixes #3863
110Ian Lynagh <igloo@earth.li>**20100827204537]
111[Add a new-IO manager release note
112Ian Lynagh <igloo@earth.li>**20100827171616]
113[Merge a duplicate release note
114Ian Lynagh <igloo@earth.li>**20100827171511]
115[Typo, spotted by Johan Tibell
116Ian Lynagh <igloo@earth.li>**20100827153914]
117[First pass at 6.14.1 release notes
118Ian Lynagh <igloo@earth.li>**20100826220811]
119[Fix typo
120Ian Lynagh <igloo@earth.li>**20100824201330]
121[FIX BUILD: add rts_isProfiled to the symbol table
122Simon Marlow <marlowsd@gmail.com>**20100826094319
123 Ignore-this: 9536ddb0a94721c8dec03a2a981cfa83
124]
125[Fix the DPH package cleaning/profiled mess even more (the build was broken)
126Simon Marlow <marlowsd@gmail.com>**20100826084436
127 Ignore-this: 49d7e4db2fb53b856c213c74c8969d82
128]
129[Remove the debugging memory allocator - valgrind does a better job
130Simon Marlow <marlowsd@gmail.com>**20100824113537
131 Ignore-this: a3731a83dc18b0fd0de49452e695a7ca
132 
133 I got fed up with the constant bogus output from the debugging memory
134 allocator in RtsUtils.c.  One problem is that we allocate memory in
135 constructors that then isn't tracked, because the debugging allocator
136 hasn't been initialised yet.
137 
138 The bigger problem is that for a given piece of leaking memory it's
139 impossible to find out where it was allocated; however Valgrind gives
140 output like this:
141 
142 ==6967== 8 bytes in 1 blocks are still reachable in loss record 1 of 7
143 ==6967==    at 0x4C284A8: malloc (vg_replace_malloc.c:236)
144 ==6967==    by 0x4C28522: realloc (vg_replace_malloc.c:525)
145 ==6967==    by 0x6745E9: stgReallocBytes (RtsUtils.c:213)
146 ==6967==    by 0x68D812: setHeapAlloced (MBlock.c:91)
147 ==6967==    by 0x68D8E2: markHeapAlloced (MBlock.c:116)
148 ==6967==    by 0x68DB56: getMBlocks (MBlock.c:240)
149 ==6967==    by 0x684F55: alloc_mega_group (BlockAlloc.c:305)
150 ==6967==    by 0x6850C8: allocGroup (BlockAlloc.c:358)
151 ==6967==    by 0x69484F: allocNursery (Storage.c:390)
152 ==6967==    by 0x694ABD: allocNurseries (Storage.c:436)
153 ==6967==    by 0x6944F2: initStorage (Storage.c:217)
154 ==6967==    by 0x673E3C: hs_init (RtsStartup.c:160)
155 
156 which tells us exactly what the leaking bit of memory is.  So I don't
157 think we need our own debugging allocator.
158]
159[free the entries in the thread label table on exit
160Simon Marlow <marlowsd@gmail.com>**20100824112606
161 Ignore-this: c9d577c06548cda80791e590e40d35b3
162]
163[Panic in the right way
164simonpj@microsoft.com**20100825091614
165 Ignore-this: e6ea4f6dfd2aea088828ea7a945ddd5f
166]
167[Fix the DPH/profiled make thing (again)
168simonpj@microsoft.com**20100825091602
169 Ignore-this: bc58fa48034ac40cf7be4170958ea29e
170]
171[Don't test for gcc flags before we've found gcc
172Ian Lynagh <igloo@earth.li>**20100824131401]
173[Change how the dblatex/lndir problem is worked around
174Ian Lynagh <igloo@earth.li>**20100824130938
175 Hack: dblatex normalises the name of the main input file using
176 os.path.realpath, which means that if we're in a linked build tree,
177 it find the real source files rather than the symlinks in our link
178 tree. This is fine for the static sources, but it means it can't
179 find the generated sources.
180 
181 We therefore also generate the main input file, so that it really
182 is in the link tree, and thus dblatex can find everything.
183]
184[Clean the generated userguide sources
185Ian Lynagh <igloo@earth.li>**20100824105827
186 Ignore-this: 39b4f9702c688c053ed3273b20969597
187]
188[DPH should not even be built if GhcProfiled
189simonpj@microsoft.com**20100823133439
190 Ignore-this: 62acbf83de5b70ff6d27ab38ce9218ae
191 
192 It's not just when cleaning!
193]
194[The templateHaskellOk check should only run in stage2
195simonpj@microsoft.com**20100823133353
196 Ignore-this: f6dc9292923a1ca201953c5f58c0af3c
197 
198 Because rtsIsProfiled is only available in stage2
199]
200[Add a couple of missing tests for EAGER_BLACKHOLE
201Simon Marlow <marlowsd@gmail.com>**20100823104654
202 Ignore-this: 70c981b86370b0c7564b29b057650897
203 This was leading to looping and excessive allocation, when the
204 computation should have just blocked on the black hole. 
205 
206 Reported by Christian Höner zu Siederdissen <choener@tbi.univie.ac.at>
207 on glasgow-haskell-users.
208]
209[Don't check for swept blocks in -DS.
210Marco Túlio Gontijo e Silva <marcot@marcot.eti.br>**20100718225526
211 Ignore-this: ad5dcf3c247bc19fbef5122c1142f3b2
212 
213 The checkHeap function assumed the allocated part of the block contained only
214 alive objects and slops.  This was not true for blocks that are collected using
215 mark sweep.  The code in this patch skip the test for this kind of blocks.
216]
217[Fix "darcs get"
218Ian Lynagh <igloo@earth.li>**20100822183542]
219[Add "darcs-all upstreampull"
220Ian Lynagh <igloo@earth.li>**20100822163419
221 This pulls from the upstream repos, for those packages which have
222 upstreams
223]
224[Generate the bit in the user guide where we say what -fglasgow-exts does
225Ian Lynagh <igloo@earth.li>**20100822155514
226 Stops the docs going out of sync with the code.
227]
228[Factor out the packages file parsing in darcs-all
229Ian Lynagh <igloo@earth.li>**20100822154813]
230[Document --supported-extensions
231Ian Lynagh <igloo@earth.li>**20100822134530]
232[fix extraction of command stack of arguments of arrow "forms" (fixes #4236)
233Ross Paterson <ross@soi.city.ac.uk>**20100822090022
234 Ignore-this: a93db04ec4f20540642a19cdc67d1666
235 
236 The command stack was being extracted (by unscramble) with the outermost
237 type first, contrary to the comment on the function.
238]
239[minor fix to comment
240Ross Paterson <ross@soi.city.ac.uk>**20100822085838
241 Ignore-this: 8d203ba2600eaf4cf21b043dcfa96cdc
242]
243[Add the RTS library path to the library search path
244Ian Lynagh <igloo@earth.li>**20100820155523
245 In case the RTS is being explicitly linked in. For #3807.
246]
247[Remove some duplication of C flags
248Ian Lynagh <igloo@earth.li>**20100819233743
249 We now use the CONF_CC_OPTS_STAGEn C flags in machdepCCOpts, rather than
250 repeating them there.
251]
252[Set -fno-stack-protector in CONF_CC_OPTS_STAGE* rathre than extra-gcc-opts
253Ian Lynagh <igloo@earth.li>**20100819233031
254 The latter is only used when compiling .hc files, whereas we need it for
255 .c files too.
256]
257[Give clearer errors for bad input in the packages file; suggested by pejo
258Ian Lynagh <igloo@earth.li>**20100819232420]
259[Set -march=i686 on OS X x86 in the configure variables
260Ian Lynagh <igloo@earth.li>**20100819230939
261 We used to set it only in machdepCCOpts, so this is more consistent
262]
263[Give each stage its own Config.hs
264Ian Lynagh <igloo@earth.li>**20100819224709
265 This also means the file is generated in a dist directory, not a
266 source directory.
267]
268[Fix cleaning when GhcProfiled = YES
269Ian Lynagh <igloo@earth.li>**20100819131346
270 We need to include the DPH cleaning rules, even though we don't build DPH
271 when GhcProfiled = YES.
272]
273[stgReallocBytes(DEBUG): don't fail when the ptr passed in is NULL
274Simon Marlow <marlowsd@gmail.com>**20100817150836
275 Ignore-this: 4b5063e65e01399f64a33f0d0555ff38
276]
277[Use make-command in rules/bindist.mk
278Ian Lynagh <igloo@earth.li>**20100818191243
279 Rather than it having its own specialised version
280]
281[Use make-command when installing packages
282Ian Lynagh <igloo@earth.li>**20100818190600]
283[Add _DATA_FILES to package-data.mk files
284Ian Lynagh <igloo@earth.li>**20100818185801]
285[Add a "make-command" utility Makefile function
286Ian Lynagh <igloo@earth.li>**20100818183055]
287[LLVM: Nicer format for lack of shared lib warning
288David Terei <davidterei@gmail.com>**20100817145207
289 Ignore-this: 753d45762601d87761614937a1bb6716
290]
291[fix FP_CHECK_ALIGNMENT for autoconf 2.66 (fixes #4252)
292Ross Paterson <ross@soi.city.ac.uk>**20100816142442
293 Ignore-this: cd784b8888d32b3b2cc2cc0969ec40f
294 
295 Recent versions of AS_LITERAL_IF don't like *'s.  Fix from
296 
297 http://blog.gmane.org/gmane.comp.sysutils.autoconf.general/month=20100701
298]
299[Refactor the command-line argument parsing (again)
300simonpj@microsoft.com**20100816074453
301 Ignore-this: 26dc9e37a88660a887a2e316ed7a9803
302 
303 This change allows the client of CmdLineParser a bit more flexibility,
304 by giving him an arbitrary computation (not just a deprecation
305 message) for each flag. 
306 
307 There are several clients, so there are lots of boilerplate changes.
308 
309 Immediate motivation: if RTS is not profiled, we want to make
310 Template Haskell illegal.  That wasn't with the old setup.
311]
312[Add upstream repo to the packages file
313Ian Lynagh <igloo@earth.li>**20100815154741]
314[Make the "tag" column of the packages file always present
315Ian Lynagh <igloo@earth.li>**20100815151657
316 It makes the parsing simpler if we always have the same number of columns
317]
318[Disable object splitting on OSX; works around #4013
319Ian Lynagh <igloo@earth.li>**20100815134759]
320[Return memory to the OS; trac #698
321Ian Lynagh <igloo@earth.li>**20100813170402]
322[Reduce the xargs -s value we use on Windows
323Ian Lynagh <igloo@earth.li>**20100812223721
324 With 30000 I was getting:
325     xargs: value for -s option should be < 28153
326]
327[LLVM: Enable shared lib support on Linux x64
328David Terei <davidterei@gmail.com>**20100813191534
329 Ignore-this: 642ed37af38e5f17d419bf4f09332671
330]
331[Re-do the arity calculation mechanism again (fix Trac #3959)
332simonpj@microsoft.com**20100813161151
333 Ignore-this: d4a2aa48150b503b20c25351a79decfb
334 
335 After rumination, yet again, on the subject of arity calculation,
336 I have redone what an ArityType is (it's purely internal to the
337 CoreArity module), and documented it better.  The result should
338 fix #3959, and I hope the related #3961, #3983.
339 
340 There is lots of new documentation: in particular
341  * Note [ArityType] 
342    describes the new datatype for arity info
343 
344  * Note [State hack and bottoming functions]
345    says how bottoming functions are dealt with, particularly
346    covering catch# and Trac #3959
347 
348 I also found I had to be careful not to eta-expand single-method
349 class constructors; see Note [Newtype classes and eta expansion].
350 I think this part could be done better, but it works ok.
351]
352[Comments only
353simonpj@microsoft.com**20100813161019
354 Ignore-this: baf68300d8bc630bf0b7ab27647b33a0
355]
356[Modify FloatOut to fix Trac #4237
357simonpj@microsoft.com**20100813163120
358 Ignore-this: ffc8d00d4b7f0a8a785fcef312900413
359 
360 The problem was that a strict binding was getting floated
361 out into a letrec. This only happened when profiling was
362 on.  It exposed a fragility in the floating strategy.  This
363 patch makes it more robust.  See
364       Note [Avoiding unnecessary floating]
365]
366[Fix egregious bug in SetLevels.notWorthFloating
367simonpj@microsoft.com**20100813161429
368 Ignore-this: d22865f48d417e6a6b732de3dfba378f
369 
370 This bug just led to stupid code, which would
371 later be optimised away, but better not to generate
372 stupid code in the first place.
373]
374[Delete GhcLibProfiled
375simonpj@microsoft.com**20100813140152
376 Ignore-this: 2e1a3f677308be726bd022f45e2fd856
377 
378 Simon M and I looked at this, and we think GhcLibProfiled is
379 (a) not needed (b) confusing.
380 
381 Ian should review.
382 
383 Really, if GhcProfiled is on we should also
384 check that 'p' is in the GhcLibWays
385]
386[Do not build DPH when GhcProfiled (fixes #4172)
387simonpj@microsoft.com**20100813140021
388 Ignore-this: 9e20181643b456e841f845ae0cab0a9a
389 
390 Reason: DPH uses Template Haskell and TH doesn't work
391 in a profiled compiler
392]
393[Fix Trac #4220
394simonpj@microsoft.com**20100812131319
395 Ignore-this: 33141cfd81627592150a9e5973411ff8
396 
397 For deriving Functor, Foldable, Traversable with empty
398 data cons I just generate a null equation
399    f _ = error "urk"
400 
401 There are probably more lurking (eg Enum) but this will do for now.
402]
403[Improve the Specialiser, fixing Trac #4203
404simonpj@microsoft.com**20100812131133
405 Ignore-this: 482afbf75165e24a80527a6e52080c07
406 
407 Simply fixing #4203 is a tiny fix: in case alterantives we should
408 do dumpUDs *including* the case binder. 
409 
410 But I realised that we can do better and wasted far too much time
411 implementing the idea.  It's described in
412     Note [Floating dictionaries out of cases]
413]
414[Comments
415simonpj@microsoft.com**20100812101456
416 Ignore-this: 6362fe887d25688c12ef2c3cf5554ce4
417]
418[Comments only
419simonpj@microsoft.com**20100812101439
420 Ignore-this: 7ed2f5fc08811cbe9958c2309a9ed1fa
421]
422[Fix bug in linting of shadowed case-alternative binders
423simonpj@microsoft.com**20100812101413
424 Ignore-this: 9212a5e2c03421749f5935b3944ecf53
425]
426[Comments and spacing only
427simonpj@microsoft.com**20100812101347
428 Ignore-this: ed59a7dae7decb24470709dc1c118dbb
429]
430[Add more info to more parse error messages (#3811)
431Ian Lynagh <igloo@earth.li>**20100809233108]
432[Run finalizers *after* updating the stable pointer table (#4221)
433Simon Marlow <marlowsd@gmail.com>**20100810133739
434 Ignore-this: b0462f80dd64eac71e599d8a9f6dd665
435 Silly bug really, we were running the C finalizers while the StablePtr
436 table was still in a partially-updated state during GC, but finalizers
437 are allowed to call freeStablePtr() (via hs_free_fun_ptr(), for
438 example), and chaos ensues.
439]
440[Do the dependency-omitting for 'make 1' in a slightly different way
441Simon Marlow <marlowsd@gmail.com>**20100810093446
442 Ignore-this: af15edd3a1492cbd93111316b57e02e4
443 
444 I encountered a couple of things that broke after Ian's previous
445 patch: one was my nightly build scripts that use 'make stage=2' at the
446 top level, and the other is 'make fast' in libraries/base, which uses
447 'stage=0' to avoid building any compilers.
448 
449 So my version of this patch is more direct: it just turns off the
450 appropriate dependencies using a variable set by 'make 1', 'make 2',
451 etc.
452]
453[Integrate new I/O manager, with signal support
454Johan Tibell <johan.tibell@gmail.com>**20100724102355
455 Ignore-this: eb092857a2a1b0ca966649caffe7ac2b
456]
457[Add DoAndIfThenElse support
458Ian Lynagh <igloo@earth.li>**20100808194625]
459[Make another parse error more informative
460Ian Lynagh <igloo@earth.li>**20100808193340]
461[Make a parse error say what it is failing to parse; part of #3811
462Ian Lynagh <igloo@earth.li>**20100808155732]
463[Send ghc progress output to stdout; fixes #3636
464Ian Lynagh <igloo@earth.li>**20100808142542]
465[Fix the HsColour test in the build system
466Ian Lynagh <igloo@earth.li>**20100805155319
467 Ignore-this: ba2752b04801a253e891b31e1914485d
468]
469[Fix the -lm configure test; fixes #4155
470Ian Lynagh <igloo@earth.li>**20100805142508
471 Ignore-this: 358b8b1074d2d22fb8d362ea6d8b80d6
472]
473[Don't restrict filenames in line pragmas to printable characters; fixes #4207
474Ian Lynagh <igloo@earth.li>**20100805135011
475 Ignore-this: e3d32312127165e40e6eaa919193d60b
476 "printable" is ASCII-only, whereas in other locales we can get things like
477 # 1 "<línea-de-orden>"
478]
479[Ensure extension flags are flattened in the Cmm phase
480Ian Lynagh <igloo@earth.li>**20100805133614
481 If we start with a .cmmcpp file then they don't get flattened in
482 the CmmCpp phase, as we don't run that phase.
483]
484[Add "cmmcpp" as a Haskellish source suffix
485Ian Lynagh <igloo@earth.li>**20100805132555]
486[On amd64/OSX we don't need to be given memory in the first 31bits
487Ian Lynagh <igloo@earth.li>**20100805120600
488 Ignore-this: 42eb64e25ad4b66ae022884305e0297b
489 as PIC is always on
490]
491[NCG: Don't worry about trying to re-freeze missing coalescences
492benl@ouroborus.net**20100702053319
493 Ignore-this: ea05cbee19b6c5c410db41292cbb64b0
494]
495[Make -rtsopts more flexible
496Ian Lynagh <igloo@earth.li>**20100805011137
497 The default is a new "some" state, which allows only known-safe flags
498 that we want on by default. Currently this is only "--info".
499]
500[Test for (fd < 0) before trying to FD_SET it
501Ian Lynagh <igloo@earth.li>**20100804173636]
502[Remove "On by default" comments in DynFlags
503Ian Lynagh <igloo@earth.li>**20100802110803
504 Ignore-this: 2a51055277b5ce9f0e98e1438b212027
505 These make less sense now we support multiple languges. The
506 "languageExtensions" function gives the defaults.
507]
508[Fix build: Add newline to end of ghc-pkg/Main.hs
509Ian Lynagh <igloo@earth.li>**20100801183206]
510[Add a versions haddock binary for Windows
511Ian Lynagh <igloo@earth.li>**20100801180917]
512[ghc-pkg: don't fail, if a file is already removed
513ich@christoph-bauer.net**20100725162606
514 Ignore-this: 5501d6812c31f4da525c7fb24f6dcaed
515]
516[Remove push-all from file list in boot script (push-all no longer exists)
517Ian Lynagh <igloo@earth.li>**20100801121841
518 Ignore-this: eec130f06610d8728a57626682860a1a
519]
520[Add error checking to boot-pkgs script
521Ian Lynagh <igloo@earth.li>**20100801121432
522 Ignore-this: 8afd6663db443c774bad45d75bbfe950
523]
524[Add more error checking to the boot script
525Ian Lynagh <igloo@earth.li>**20100801113628]
526[Remove libHSrtsmain.a before creating it
527Ian Lynagh <igloo@earth.li>**20100801005432
528 Otherwise it isn't updated properly if rts/Main.c changes
529]
530[Expose the functions haddock needs even when haddock is disabled; #3558
531Ian Lynagh <igloo@earth.li>**20100731115506]
532[Always haddock by default
533Ian Lynagh <igloo@earth.li>**20100730235001
534 Revert this patch:
535     Matthias Kilian <kili@outback.escape.de>**20090920181319
536     Don't build haddock if HADDOC_DOCS = NO, and disable HADDOC_DOCS
537         if GhcWithInterpreter = NO
538     Haddock uses TcRnDriver.tcRnGetInfo, which is only available if
539     GHCI is built. Set HADDOC_DOCS to NO if GhcWithInterpreter is NO,
540     and disable the haddock build if HADDOC_DOCS = NO.
541]
542[Add a debugTrace for the phases that we run
543Ian Lynagh <igloo@earth.li>**20100729201503]
544[* Add StringPrimL as a constructor for Template Haskell (Trac #4168)
545simonpj@microsoft.com**20100730131922
546 Ignore-this: 520d0a0a14b499b299e8b2be8d148ff0
547   
548 There are already constructors for IntPrim, FloatPrim etc,
549 so this makes it more uniform.
550   
551 There's a corresponding patch for the TH library
552]
553[Add thread affinity support for FreeBSD
554Gabor Pali <pgj@FreeBSD.org>**20100720001409
555 Ignore-this: 6c117b8219bfb45445089e82ee470410
556 - Implement missing functions for setting thread affinity and getting real
557   number of processors.
558 - It is available starting from 7.1-RELEASE, which includes a native support
559   for managing CPU sets.
560 - Add __BSD_VISIBLE, since it is required for certain types to be visible in
561   addition to POSIX & C99.
562]
563[Disable symbol visibility pragmas for FreeBSD
564Ian Lynagh <igloo@earth.li>**20100729012507
565 Do not use GCC pragmas for controlling visibility, because it causes
566 "undefined reference" errors at link-time.  The true reasons are
567 unknown, however FreeBSD 8.x includes GCC 4.2.1 in the base system,
568 which might be buggy.
569]
570[Fix numeric escape sequences parsing
571Anton Nikishaev <anton.nik@gmail.com>**20100721194208
572 Ignore-this: dd71935b1866b5624f7975c45ad519a1
573 This fixes trac bug #1344
574]
575[Explicitly give the right path to perl when making the OS X installer; #4183
576Ian Lynagh <igloo@earth.li>**20100728163030]
577[Set -fno-stack-protector in extra-gcc-opts; fixes #4206
578Ian Lynagh <igloo@earth.li>**20100728161957
579 We were using it only when building the RTS, and only on certain
580 platforms. However, some versions of OS X need the flag, while others
581 don't support it, so we now test for it properly.
582]
583[Make PersistentLinkerState fields strict; fixes #4208
584Ian Lynagh <igloo@earth.li>**20100727201911
585 Ignore-this: fc5cfba48cd16624f6bb15a7a03a3b4
586 We modify fields a lot, so we retain the old value if they aren't forced.
587]
588[Don't rebuild dependency files unnecessarily when doing "make 1" etc
589Ian Lynagh <igloo@earth.li>**20100726211512
590 Ignore-this: d91a729e5113aa964cc67768e92e57ef
591]
592[LLVM: If user specifies optlo, don't use '-O' levels
593David Terei <davidterei@gmail.com>**20100726105650
594 Ignore-this: e05e103b09d1de937540ffad7983f88e
595]
596[Flatten flags for ghci's :show
597Ian Lynagh <igloo@earth.li>**20100725135320]
598[Add support for Haskell98 and Haskell2010 "languages"
599Ian Lynagh <igloo@earth.li>**20100724230121]
600[Rename "language" varibles etc to "extension", and add --supported-extensions
601Ian Lynagh <igloo@earth.li>**20100724223624]
602[Separate language option handling into 2 phases
603Ian Lynagh <igloo@earth.li>**20100724212013
604 We now first collect the option instructions (from the commandline,
605 from pragmas in source files, etc), and then later flatten them into
606 the list of enabled options. This will enable us to use different
607 standards (H98, H2010, etc) as a base upon which to apply the
608 instructions, when we don't know what the base will be when we start
609 collecting instructions.
610]
611[Separate the language flags from the other DynFlag's
612Ian Lynagh <igloo@earth.li>**20100724133103
613 Ignore-this: 47bb8d42e621e47016b66c7472bd6cb5
614]
615[Set stage-specific CC/LD opts in the bindist configure.ac
616Ian Lynagh <igloo@earth.li>**20100724113748
617 Ignore-this: f06926d185a35ddd05490ca4a257e992
618]
619[Use different CC/LD options for different stages
620Ian Lynagh <igloo@earth.li>**20100723223059]
621[Add some error belchs to the linker, when we find bad magic numbers
622Ian Lynagh <igloo@earth.li>**20100723200822]
623[Add some more linker debugging prints
624Ian Lynagh <igloo@earth.li>**20100723180237]
625[When (un)loading an object fails, say which object in teh panic
626Ian Lynagh <igloo@earth.li>**20100723162649]
627[Add a release note: GHCi import syntax
628Ian Lynagh <igloo@earth.li>**20100721193647]
629[Deprecate NewQualifiedOperators extension (rejected by H')
630Ian Lynagh <igloo@earth.li>**20100719150909
631 Ignore-this: 6e7e3bedc5360c5975f73497b3e6cba5
632]
633[LLVM: Allow optlc and optlo to override default params for these systools
634David Terei <davidterei@gmail.com>**20100722181631
635 Ignore-this: e60af7941996f7170fb3bfb02a002082
636]
637[LLVM: Code and speed improvement to dominateAllocs pass.
638David Terei <davidterei@gmail.com>**20100721143654
639 Ignore-this: 9fb7058c8a2afc005521298c7b8d0036
640]
641[Comments only
642simonpj@microsoft.com**20100721144257
643 Ignore-this: b3091ddcd1df271eb85fe90978ab7adc
644]
645[Fix inlining for default methods
646simonpj@microsoft.com**20100721144248
647 Ignore-this: 61a11a8f741f775000c6318aae4b3191
648 
649 This was discombobulated by a patch a week ago;
650 now fixed, quite straightforwardly.  See
651 Note [Default methods and instances]
652]
653[Allow reification of existentials and GADTs
654simonpj@microsoft.com**20100721090437
655 Ignore-this: 20f1ccd336cc25aff4d4d67a9ac2211a
656 
657 It turns out that TH.Syntax is rich enough to express even GADTs,
658 provided we express them in equality-predicate form.  So for
659 example
660 
661   data T a where
662      MkT1 :: a -> T [a]
663      MkT2 :: T Int
664 
665 will appear in TH syntax like this
666 
667   data T a = forall b. (a ~ [b]) => MkT1 b
668            | (a ~ Int) => MkT2
669 
670 While I was at it I also improved the reification of types,
671 so that we use TH.TupleT and TH.ListT when we can.
672]
673[add numSparks# primop (#4167)
674Simon Marlow <marlowsd@gmail.com>**20100720153746
675 Ignore-this: f3f925e7de28f3f895213aefbdbe0b0f
676]
677[LLVM: Decrease max opt level used under OSX to avoid bug
678David Terei <davidterei@gmail.com>**20100720160938
679 Ignore-this: 34b0b3550f00b27b00ad92f8232745e5
680 
681 Currently, many programs compiled with GHC at -O2 and LLVM
682 set to -O3 will segfault (only under OSX). Until this issue
683 is fixed I have simply 'solved' the segfault by lowering
684 the max opt level for LLVM used to -O2 under OSX.
685 
686 All these recent changes to OSX should mean its finally as
687 stable as Linux and Windows.
688]
689[LLVM: Fix OSX to work again with TNTC disabled.
690David Terei <davidterei@gmail.com>**20100720160845
691 Ignore-this: 8dc98139cfa536b2a64aa364d040b581
692]
693[LLVM: Fix printing of local vars so LLVM works with -fnew-codegen
694David Terei <davidterei@gmail.com>**20100720160302
695 Ignore-this: d883c433dfaed67921a8c5360e1f9f6a
696]
697[Use a separate mutex to protect all_tasks, avoiding a lock-order-reversal
698Simon Marlow <marlowsd@gmail.com>**20100716150832
699 Ignore-this: ffbdb4ee502e0f724d57acb9bfbe9d92
700 In GHC 6.12.x I found a rare deadlock caused by this
701 lock-order-reversal:
702 
703 AQ cap->lock
704   startWorkerTask
705     newTask
706       AQ sched_mutex
707 
708 scheduleCheckBlackHoles
709   AQ sched_mutex
710    unblockOne_
711     wakeupThreadOnCapabilty
712       AQ cap->lock
713 
714 so sched_mutex and cap->lock are taken in a different order in two
715 places.
716 
717 This doesn't happen in the HEAD because we don't have
718 scheduleCheckBlackHoles, but I thought it would be prudent to make
719 this less likely to happen in the future by using a different mutex in
720 newTask.  We can clearly see that the all_tasks mutex cannot be
721 involved in a deadlock, becasue we never call anything else while
722 holding it.
723]
724['make fast' in a package does not build any compilers
725Simon Marlow <marlowsd@gmail.com>**20100715125904
726 Ignore-this: f27e70faf3944831dad16e89a4e273da
727]
728[LLVM: Fix up botched last commit
729David Terei <davidterei@gmail.com>**20100719104823
730 Ignore-this: a32e0f6a38cb9e02527eb8ca69b3eb59
731]
732[LLVM: Fix warning introduce in last commit.
733David Terei <davidterei@gmail.com>**20100719103411
734 Ignore-this: e9c92a9402aff50d60ab26e6ad441bfc
735]
736[LLVM: Use mangler to fix up stack alignment issues on OSX
737David Terei <davidterei@gmail.com>**20100718231000
738 Ignore-this: 9f6e8cb855269cb3a5ac1a23480d0e71
739]
740[Fix #4195 (isGadtSyntaxTyCon returns opposite result)
741illissius@gmail.com**20100715134134
742 Ignore-this: a90403f893030432b5c15d743647f350
743]
744[Update to time 1.2.0.3
745Ian Lynagh <igloo@earth.li>**20100717181810
746 Ignore-this: 1ccb4801a73f399e6718ce556543ede1
747]
748[Reorder RTS --info output
749Ian Lynagh <igloo@earth.li>**20100717162356]
750[Fix unreg prof build: Define CCS_SYSTEM in stg/MiscClosures.h
751Ian Lynagh <igloo@earth.li>**20100717142832
752 Ignore-this: 9675f3f51b6dac40483155344e7f45b6
753]
754[Make mkDerivedConstants as a stage 1 program
755Ian Lynagh <igloo@earth.li>**20100717000827
756 Ignore-this: 5357403461b209b8606f1d33defb51cf
757 This way it gets the defines for the right platform when cross-compiling
758]
759[Don't generate Haskell dependencies if we don't have any Haskell sources
760Ian Lynagh <igloo@earth.li>**20100717000800
761 Ignore-this: 454abd0358f535b7e789327125c9206c
762]
763[Link programs that have no Haskell objects with gcc rather than ghc
764Ian Lynagh <igloo@earth.li>**20100716235303
765 Ignore-this: f65588b69675edea616cc434e769b0a4
766]
767[Use gcc to build C programs for stages >= 1
768Ian Lynagh <igloo@earth.li>**20100716223703
769 Ignore-this: 9f843a4e17285cda582117504707f9e7
770]
771[Add platform info to "ghc --info" output
772Ian Lynagh <igloo@earth.li>**20100716141953]
773[Tidy up Config.hs generation
774Ian Lynagh <igloo@earth.li>**20100716140630]
775[Fix HC porting test in makefiles
776Ian Lynagh <igloo@earth.li>**20100716010808
777 Ignore-this: 6052c1dd022a6108ab2236a299ee1d84
778 Now that we are trying to support cross compilation, we can't use
779     "$(TARGETPLATFORM)" != "$(HOSTPLATFORM)"
780 as a test for HC-porting.
781]
782[Change a BUILD var to a HOST var
783Ian Lynagh <igloo@earth.li>**20100716002558]
784[Remove an unnecessary #include
785Ian Lynagh <igloo@earth.li>**20100715233930
786 Ignore-this: dcede249de6be7e3c9305c9279c2ca07
787]
788[Split up some make commands, so that errors aren't overlooked
789Ian Lynagh <igloo@earth.li>**20100715152237
790 Ignore-this: fb69b0a25d9ca71dae5e75d38db675cd
791 When we ask make to run "a | b", if a fails then the pipeline might
792 still exit successfuly.
793]
794[Remove an unnecessary #include
795Ian Lynagh <igloo@earth.li>**20100715143000
796 Ignore-this: 4e098cac5dda2dd595ca0a0f5121853c
797]
798[Simplify some more CPP __GLASGOW_HASKELL__ tests
799Ian Lynagh <igloo@earth.li>**20100715142500]
800[Remove some code only used with GHC 6.11.*
801Ian Lynagh <igloo@earth.li>**20100715141720]
802[__GLASGOW_HASKELL__ >= 609 is now always true
803Ian Lynagh <igloo@earth.li>**20100715141544]
804[Correct the values in ghc_boot_platform.h
805Ian Lynagh <igloo@earth.li>**20100714223717
806 Ignore-this: 4c99116f7ac73fadbd6d16807f57a693
807]
808[Change some TARGET checks to HOST checks
809Ian Lynagh <igloo@earth.li>**20100714184715]
810[LLVM: Add inline assembly to binding.
811David Terei <davidterei@gmail.com>**20100714152530
812 Ignore-this: 72a7b5460c128ed511e8901e5889fe2b
813]
814[LLVM: Fix mistype in last commit which broke TNTC under win/linux.
815David Terei <davidterei@gmail.com>**20100714153339
816 Ignore-this: 302d7957e3dded80368ebade5312ab35
817]
818[Remove unnecessary #include
819Ian Lynagh <igloo@earth.li>**20100713153704
820 Ignore-this: c37d3127b1dc68f59270c07173994c28
821]
822[Change some TARGET tests to HOST tests in the RTS
823Ian Lynagh <igloo@earth.li>**20100713141034
824 Which was being used seemed to be random
825]
826[LLVM: Add in new LLVM mangler for implementing TNTC on OSX
827David Terei <davidterei@gmail.com>**20100713183243
828 Ignore-this: 394fb74d7f9657d8b454bd0148d24bf7
829]
830[Refactor where an error message is generated
831simonpj@microsoft.com**20100713115733
832 Ignore-this: f94467856238586fcbbe48537141cf78
833]
834[Comments only
835simonpj@microsoft.com**20100713115703
836 Ignore-this: 5815442c4e69b9ec331b34242a596253
837]
838[Comments on data type families
839simonpj@microsoft.com**20100713115640
840 Ignore-this: 90a333bb7f7d64a49fb7dd180d893f6b
841]
842[Fix Trac #T4136: take care with nullary symbol constructors
843simonpj@microsoft.com**20100707135945
844 Ignore-this: 2a717a24fefcd593ea41c23dad351db0
845 
846 When a nullary constructor is a symbol eg (:=:) we need
847 to take care.  Annoying.
848]
849[Fix Trac #4127 (and hence #4173)
850simonpj@microsoft.com**20100707123125
851 Ignore-this: 98bb6d0f7182b59f8c93596c61f9785d
852 
853 The change involves a little refactoring, so that the default
854 method Ids are brought into scope earlier, before the value
855 declarations are compiled.  (Since a value decl may contain
856 an instance decl in a quote.)
857 
858 See Note [Default method Ids and Template Haskell] in
859 TcTyClsDcls.
860]
861[Fix second bug in Trac #4127
862simonpj@microsoft.com**20100701140124
863 Ignore-this: c8d1cc27364fe9ee5a52acb1ecb5cdd9
864 
865 This bug concerned the awkward shadowing we do for
866 Template Haskell declaration brackets.  Lots of
867 comments in
868 
869   Note [Top-level Names in Template Haskell decl quotes]
870]
871[ia64: switch handling of 'foreign import wrapper' (FIW) to libffi
872Sergei Trofimovich <slyfox@community.haskell.org>**20100709213922
873 Ignore-this: fd07687e0089aebabf62de85d2be693
874 
875 I tried to build darcs-2.4.4 with ghc-6.12.3 and got coredumps when darcs is used
876 in interactive mode. I tried test from ticket #3516 and found out FIW code is broken.
877 Instead of fixing it I just switched to libffi. Result built successfully, passed
878 'foreign import wrapper' test from ticket #3516 and builds working darcs.
879]
880[* storage manager: preserve upper address bits on 64bit machines (thanks to zygoloid)
881Sergei Trofimovich <slyfox@community.haskell.org>**20100709115917
882 Ignore-this: 9f1958a19992091ddc2761c389ade940
883 
884 Patch does not touch amd64 as it's address lengts is 48 bits at most, so amd64 is unaffected.
885 
886 the issue: during ia64 ghc bootstrap (both 6.10.4 and 6.12.3) I
887 got the failure on stage2 phase:
888     "inplace/bin/ghc-stage2"   -H32m -O -H64m -O0 -w ...
889     ghc-stage2: internal error: evacuate: strange closure type 15
890         (GHC version 6.12.3 for ia64_unknown_linux)
891         Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
892     make[1]: *** [libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o] Aborted
893 
894 gdb backtrace (break on 'barf'):
895 Breakpoint 1 at 0x400000000469ec31: file rts/RtsMessages.c, line 39.
896 (gdb) run -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info
897 Starting program: /var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/lib/ghc-stage2 -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info
898 [Thread debugging using libthread_db enabled]
899 
900 Breakpoint 1, barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39
901 39        va_start(ap,s);
902 (gdb) bt
903 #0  barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39
904 #1  0x400000000474a1e0 in evacuate (p=0x6000000000147958) at rts/sm/Evac.c:756
905 #2  0x40000000046d68c0 in scavenge_srt (srt=0x6000000000147958, srt_bitmap=7) at rts/sm/Scav.c:348
906 ...
907 
908 > 16:52:53 < zygoloid> slyfox: i'm no ghc expert but it looks like HEAP_ALLOCED_GC(q)
909 >                      is returning true for a FUN_STATIC closure
910 > 17:18:43 < zygoloid> try: p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p)
911 > 17:19:12 < slyfox> (gdb) p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p)
912 > 17:19:12 < slyfox> $1 = 0
913 > 17:19:40 < zygoloid> i /think/ that means the mblock_cache is broken
914 > 17:22:45 < zygoloid> i can't help further. however i am suspicious that you seem to have pointers with similar-looking low 33
915 >                      bits and different high 4 bits, and it looks like such pointers get put into the same bucket in
916 >                      mblock_cache.
917 ...
918 > 17:36:16 < zygoloid> slyfox: try changing the definition of MbcCacheLine to StgWord64, see if that helps
919 > 17:36:31 < zygoloid> that's in includes/rts/storage/MBlock.h
920 And it helped!
921]
922[Fixing link failure of compiler on ia64 ('-Wl,' prefixed value passed directly to ld)
923Sergei Trofimovich <slyfox@community.haskell.org>**20100708180943
924 Ignore-this: ced99785e1f870ee97e5bec658e2504f
925 
926     /usr/bin/ld -Wl,--relax -r -o dist-stage1/build/HSghc-6.10.4.o \
927                                   dist-stage1/build/BasicTypes.o dist-stage1/build/DataCon.o ...
928     /usr/bin/ld: unrecognized option '-Wl,--relax'
929 
930 If we just drop '-Wl,' part it will not help as '-r' and '--relax' are incompatible.
931 
932 Looks like '-Wl,--relax' was skipped by earlier binutils' ld as unknown option.
933 Removing ia64 specific path.
934]
935[LLVM: Allow getelementptr to use LlvmVar for indexes.
936David Terei <davidterei@gmail.com>**20100712152529
937 Ignore-this: 9e158d9b89a86bca8abf11d082328278
938]
939[Move all the warning workarounds to one place
940Ian Lynagh <igloo@earth.li>**20100710161723]
941[xhtml is now warning-free
942Ian Lynagh <igloo@earth.li>**20100710144635]
943[Move a bit of build system code
944Ian Lynagh <igloo@earth.li>**20100709224534]
945[adapt to the new async exceptions API
946Simon Marlow <marlowsd@gmail.com>**20100709125238
947 Ignore-this: 55d845e40b9daed3575c1479d8dda1d5
948]
949[quiet some new spewage
950Simon Marlow <marlowsd@gmail.com>**20100709091521
951 Ignore-this: de7f91976bbc9789e6fd7091f05c25c0
952]
953[New asynchronous exception control API (ghc parts)
954Simon Marlow <marlowsd@gmail.com>**20100708144851
955 Ignore-this: 56320c5fc61ae3602d586609387aae22
956 
957 As discussed on the libraries/haskell-cafe mailing lists
958   http://www.haskell.org/pipermail/libraries/2010-April/013420.html
959 
960 This is a replacement for block/unblock in the asychronous exceptions
961 API to fix a problem whereby a function could unblock asynchronous
962 exceptions even if called within a blocked context.
963 
964 The new terminology is "mask" rather than "block" (to avoid confusion
965 due to overloaded meanings of the latter).
966 
967 In GHC, we changed the names of some primops:
968 
969   blockAsyncExceptions#   -> maskAsyncExceptions#
970   unblockAsyncExceptions# -> unmaskAsyncExceptions#
971   asyncExceptionsBlocked# -> getMaskingState#
972 
973 and added one new primop:
974 
975   maskUninterruptible#
976 
977 See the accompanying patch to libraries/base for the API changes.
978]
979[remove outdated comment
980Simon Marlow <marlowsd@gmail.com>**20100708100840
981 Ignore-this: afb2e9f6fe1f1acda51b0cbdf2637176
982]
983[remove 'mode: xml' emacs settings (#2208)
984Simon Marlow <marlowsd@gmail.com>**20100708100817
985 Ignore-this: 3a8d997fb90e01ca88dc47fb95feeba0
986]
987[typo in comment
988Simon Marlow <marlowsd@gmail.com>**20100616111359
989 Ignore-this: d3ef9288d6d6b9ab3bacbe09e0d9801c
990]
991[Win32 getProcessElapsedTime: use a higher-resolution time source
992Simon Marlow <marlowsd@gmail.com>**20100708093223
993 Ignore-this: 821989d4ff7ff2bff40cee71a881521c
994 QueryPerformanceCounter() on Windows gives much better resolution than
995 GetSystemTimeAsFileTime().
996]
997[alpha: switch handling of 'foreign import wrapper' (FIW) to libffi
998Sergei Trofimovich <slyfox@community.haskell.org>**20100708065318
999 Ignore-this: ddee15876737a6aa7f6dabc8ff79ce0d
1000 
1001 I tried to build ghc-6.12.3 and found out FIW part of code
1002 does not compile anymore. It uses absent functions under #ifdef.
1003 Instead of fixing it I just switched to libffi. Result built successfully
1004 and passed 'foreign import wrapper' test I wrote for trac ticket #3516.
1005 
1006 I didn't try to build -HEAD yet, but this patch only removes code, so
1007 it should not make -HEAD worse.
1008]
1009[Reorder the CPP flags so -optP can override the platform defines
1010Ian Lynagh <igloo@earth.li>**20100708203523]
1011[Add docs for DatatypeContexts extension
1012Ian Lynagh <igloo@earth.li>**20100707230907
1013 Ignore-this: 8158f03b35a2d7442a75fe85d6f1b1c7
1014]
1015[Make datatype contexts an extension (on by default) (DatatypeContexts)
1016Ian Lynagh <igloo@earth.li>**20100707212529
1017 Ignore-this: 6885ff510a0060610eeeba65122caef5
1018]
1019[LLVM: Fix various typos in comments
1020David Terei <davidterei@gmail.com>**20100707220448
1021 Ignore-this: 1ba3e722f150492da2f9d485c5795e80
1022]
1023[Handle haddock headers when looking for LANGUAGE/OPTIONS_GHC pragmas
1024Ian Lynagh <igloo@earth.li>**20100707120423
1025 Ignore-this: a75aa67690284a6cee3e62c943d4fd01
1026]
1027[Make pragState call mkPState, rather than duplicating everything
1028Ian Lynagh <igloo@earth.li>**20100706173007
1029 Ignore-this: 61fe24b99dbe7a42efff1a9dd703a75c
1030 This also means that extsBitmap gets set, whereas is was just being set
1031 to 0 before.
1032]
1033[LLVM: Add alias type defenitions to LlvmModule.
1034David Terei <davidterei@gmail.com>**20100707142053
1035 Ignore-this: eee6ad5385563ccf08e664d2634a03f2
1036]
1037[LLVM: Use packed structure type instead of structure type
1038David Terei <davidterei@gmail.com>**20100707120320
1039 Ignore-this: a06e0359d182291b81cae56993ca385e
1040 
1041 The regular structure type adds padding to conform to the platform ABI,
1042 which causes problems with structures storing doubles under windows since
1043 we don't conform to the platform ABI there. So we use packed structures
1044 instead now that don't do any padding.
1045]
1046[Make mkPState and pragState take their arguments in the same order
1047Ian Lynagh <igloo@earth.li>**20100706172611]
1048[Remove an out-of-date comment
1049Ian Lynagh <igloo@earth.li>**20100706172217
1050 Ignore-this: 710ebd7d2dc01c1b0f1e58a5b6f85701
1051]
1052[LLVM: Stop llvm saving stg caller-save regs across C calls
1053David Terei <davidterei@gmail.com>**20100705162629
1054 Ignore-this: 28b4877b31b9358e682e38fc54b88658
1055 
1056 This is already handled by the Cmm code generator so LLVM is simply
1057 duplicating work. LLVM also doesn't know which ones are actually live
1058 so saves them all which causes a fair performance overhead for C calls
1059 on x64. We stop llvm saving them across the call by storing undef to
1060 them just before the call.
1061]
1062[LLVM: Add in literal undefined value to binding
1063David Terei <davidterei@gmail.com>**20100705161544
1064 Ignore-this: 95d8361b11584aaeec44c30e76916470
1065]
1066[LLVM: Add a literal NULL value to binding
1067David Terei <davidterei@gmail.com>**20100705161308
1068 Ignore-this: 9507b4b12c1157498704a9d1e5860f12
1069 
1070 Patch from Erik de Castro Lopo <erikd@mega-nerd.com>.
1071]
1072[refactor import declaration support (#2362)
1073Simon Marlow <marlowsd@gmail.com>**20100705104557
1074 Ignore-this: ee034ac377078a7e92bfada1907c86a0
1075]
1076[Disable dynamic linking optimisations on OS X
1077Simon Marlow <marlowsd@gmail.com>**20100705103014
1078 Ignore-this: b04420d3705c51112797758d17b2e40c
1079 To improve performance of the RTS when dynamically linked on x86, I
1080 previously disabled -fPIC for certain critical modules (the GC, and a
1081 few others).  However, build reports suggest that the dynamic linker
1082 on OS X doesn't like this, so I'm disabling this optimsation on that
1083 platform.
1084]
1085[trac #2362 (full import syntax in ghci)
1086amsay@amsay.net**20100625032632
1087 Ignore-this: a9d0859d84956beb74e27b797431bf9c
1088 'import' syntax is seperate from ':module' syntax
1089]
1090[Simplify ghc-pkg's Cabal dependencies
1091Ian Lynagh <igloo@earth.li>**20100704184155
1092 We no longer support building with a compiler that doesn't come with
1093 base 4.
1094]
1095[Use Cabal to configure the dist-install ghc-pkg; fixes trac #4156
1096Ian Lynagh <igloo@earth.li>**20100704132612]
1097[Remove dead code (standalone deriving flag no longer used in parser)
1098Ian Lynagh <igloo@earth.li>**20100701162058]
1099[LLVM: Use the inbounds keyword for getelementptr instructions.
1100David Terei <davidterei@gmail.com>**20100702160511
1101 Ignore-this: 3708e658a4c82b78b1402393f4405541
1102]
1103[threadPaused: fix pointer arithmetic
1104Simon Marlow <marlowsd@gmail.com>**20100701085046
1105 Ignore-this: b78210e5d978f18ffd235f1c78a55a23
1106 Noticed by Henrique Ferreiro <hferreiro@udc.es>, thanks!
1107]
1108[LLVM: Change more operations to use getelementptr
1109David Terei <davidterei@gmail.com>**20100701161856
1110 Ignore-this: fb24eb124e203f50680c6fec3ff9fe7d
1111]
1112[Add the haskell2010 package
1113Simon Marlow <marlowsd@gmail.com>**20100630125532
1114 Ignore-this: e9b011313f283a8ff2fcda7d029a01f
1115]
1116[LLVM: Use getelementptr instruction for a lot of situations
1117David Terei <davidterei@gmail.com>**20100630181157
1118 Ignore-this: 34d314dd8dffad9bdcffdc525261a49d
1119 
1120 LLVM supports creating pointers in two ways, firstly through
1121 pointer arithmetic (by casting between pointers and ints)
1122 and secondly using the getelementptr instruction. The second way
1123 is preferable as it gives LLVM more information to work with.
1124 
1125 This patch changes a lot of pointer related code from the first
1126 method to the getelementptr method.
1127]
1128[remove out of date comments; point to the wiki
1129Simon Marlow <marlowsd@gmail.com>**20100625100313
1130 Ignore-this: 95f363a373534b9471b1818102ec592d
1131]
1132[NCG: allocatableRegs is only giving us 8 SSE regs to allocate to
1133benl@ouroborus.net**20100629054321
1134 Ignore-this: b3e0fa0b4ce988a0258dc12261989ee0
1135]
1136[LLVM: Use intrinsic functions for pow, sqrt, sin, cos
1137David Terei <davidterei@gmail.com>**20100628182949
1138 Ignore-this: 98a0befaca3fe2b36d710d8ff9f062c4
1139 
1140 Instead of calling the C library for these Cmm functions
1141 we use intrinsic functions provided by llvm. LLVM will
1142 then either create a compile time constant if possible, or
1143 use a cpu instruction or as a last resort call the C
1144 library.
1145]
1146[LLVM: Fix test '2047' under linux-x64
1147David Terei <davidterei@gmail.com>**20100628165256
1148 Ignore-this: 41735d4f431a430db636621650ccd71e
1149]
1150[LLVM: Fix test 'ffi005' under linux-x64
1151David Terei <davidterei@gmail.com>**20100628155355
1152 Ignore-this: 841f3142c63cc898ac4c3f89698a837e
1153]
1154[LLVM: Update to use new fp ops introduced in 2.7
1155David Terei <davidterei@gmail.com>**20100628144037
1156 Ignore-this: 5dd2e5964e3c039d297ed586841e706b
1157]
1158[Add noalias and nocapture attributes to pointer stg registers
1159David Terei <davidterei@gmail.com>**20100628115120
1160 Ignore-this: 492a1e723cb3a62498d240d7de92dd7
1161 
1162 At the moment this gives a very slight performance boost of around 1 - 2%.
1163 Future changes to the generated code though so that pointers are kept as
1164 pointers more often instead of being cast to integer types straight away
1165 should hopefully improve the benefit this brings.
1166 
1167]
1168[during shutdown, only free the heap if we waited for foreign calls to exit
1169Simon Marlow <marlowsd@gmail.com>**20100628090536
1170 Ignore-this: d545384a4f641d701455d08ef1217479
1171]
1172[Fix typo in -ddump-pass's document.
1173shelarcy <shelarcy@gmail.com>**20100620070759
1174 Ignore-this: f4f1ddb53f147949e948147d89190c37
1175]
1176[Add #undefs for posix source symbols when including papi.h
1177dmp@rice.edu**20100624163514
1178 Ignore-this: 8a1cba21b880d12a75a75f7e96882053
1179 
1180 Validation fails when validating with PAPI support (i.e. GhcRtsWithPapi  = YES
1181 in validate.mk).  The problem is that the posix symbols are defined by a header
1182 included from papi.h. Compilation then fails because these symbols are
1183 redefined in PosixSource.h.
1184 
1185 This patch adds an undefine for the posix symbols after including papi.h and
1186 before including PosixSource.h. The #undefines are localized to Papi.c since
1187 that is the only case where they are getting defined twice.
1188]
1189[Use machdepCCOpts in runPhase_MoveBinary; fixes trac #3952
1190Ian Lynagh <igloo@earth.li>**20100625220953]
1191[LLVM: Fix bug with calling tail with empty list
1192David Terei <davidterei@gmail.com>**20100625115729
1193 Ignore-this: 46b4b32c8d92372a2d49794a96fe1613
1194]
1195[Fix warnings
1196benl@ouroborus.net**20100624091339
1197 Ignore-this: 5ba4bbd6abb9c9d1fb8c5d21ab73f218
1198]
1199[NCG: Comments and formatting only
1200benl@ouroborus.net**20100624083121
1201 Ignore-this: 86002e72c30d06bcc876d8c49f4caa5a
1202]
1203[NCG: Do the actual reversing of SCCs
1204benl@ouroborus.net**20100624082717
1205 Ignore-this: 12d2027ea118e751fbb48b27126150ef
1206]
1207[NCG: Fix dumping of graphs in regalloc stats for graph allocator
1208benl@ouroborus.net**20100624082625
1209 Ignore-this: 2b971bc9e0318099a9afb0e0db135730
1210]
1211[NCG: Reverse SCCs after each round in the graph allocator
1212benl@ouroborus.net**20100624082437
1213 Ignore-this: f0152e4039d6f16f7b5a99b286538116
1214]
1215[NCG: Don't actually complain on unreachable code blocks
1216benl@ouroborus.net**20100624081445
1217 Ignore-this: e7335ae6120917cb858c38c7c6da8e24
1218]
1219[NCG: Do explicit check for precondition of computeLiveness
1220benl@ouroborus.net**20100624080747
1221 Ignore-this: e7053c4e5e4c3c746b5ebf016913424a
1222 
1223  computeLiveness requires the SCCs of blocks to be in reverse dependent
1224  order, and if they're not it was silently giving bad liveness info,
1225  yielding a bad allocation.
1226 
1227  Now it complains, loudly.
1228]
1229[NCG: Fix off-by-one error in realRegSqueeze
1230benl@ouroborus.net**20100623095813
1231 Ignore-this: ab0698686d4c250da8e207f734f8252d
1232]
1233[NCG: Handle stripping of liveness info from procs with no blocks (like stg_split_marker)
1234benl@ouroborus.net**20100623091209
1235 Ignore-this: c0319b6cc62ec713afe4eb03790406e3
1236]
1237[NCG: Emit a warning on unreachable code block instead of panicing
1238benl@ouroborus.net**20100623085002
1239 Ignore-this: d20314b79e3c31e764ed4cd97290c696
1240]
1241[NCG: Remember to keep the entry block first when erasing liveness info
1242Ben.Lippmeier@anu.edu.au**20090917104429
1243 Ignore-this: 1b0c1df19d622858d50ffb6a01f2cef0
1244]
1245[NCG: Refactor representation of code with liveness info
1246Ben.Lippmeier@anu.edu.au**20090917090730
1247 Ignore-this: 2aebb3b02ebd92e547c5abad9feb0f0d
1248 
1249  * I've pushed the SPILL and RELOAD instrs down into the
1250    LiveInstr type to make them easier to work with.
1251 
1252  * When the graph allocator does a spill cycle it now just
1253    re-annotates the LiveCmmTops instead of converting them
1254    to NatCmmTops and back.
1255 
1256  * This saves working out the SCCS again, and avoids rewriting
1257    the SPILL and RELOAD meta instructions into real machine
1258    instructions.
1259]
1260[NCG: Add sanity checking to linear allocator
1261Ben.Lippmeier@anu.edu.au**20090917090335
1262 Ignore-this: 5a442be8b5087d04bc8b58dffa9ea080
1263 If there are are unreachable basic blocks in the native code then the
1264 linear allocator might loop. Detect this case and panic instead.
1265]
1266[NCG: Refactor LiveCmmTop to hold a list of SCCs instead of abusing ListGraph
1267Ben.Lippmeier@anu.edu.au**20090917060332
1268 Ignore-this: 3fec8d69ed0f760e53a202f873d5d9cb
1269]
1270[NCG: Allow the liveness map in a LiveInfo to be Nothing
1271Ben.Lippmeier@anu.edu.au**20090917043937
1272 Ignore-this: 5f82422d54d1b0ffc0589eb7e82fb7a4
1273]
1274[NCG: Also show the result of applying coalesings with -ddump-asm-regalloc-stages
1275Ben.Lippmeier.anu.edu.au**20090917034427
1276 Ignore-this: 76bd6d5ca43adb2167cb25832cbaa80b
1277]
1278[Fix panic when running "ghc -H"; trac #3364
1279Ian Lynagh <igloo@earth.li>**20100624234011
1280 The problem is that showing SDoc's looks at the static flags global
1281 variables, but those are panics while we are parsing the static flags.
1282 We work around this by explicitly using a fixed prettyprinter style.
1283]
1284[Allow for stg registers to have pointer type in llvm BE.
1285David Terei <davidterei@gmail.com>**20100621175839
1286 Ignore-this: fc09b1a8314aef0bde945c77af1124fb
1287 
1288 Before all the stg registers were simply a bit type or
1289 floating point type but now they can be declared to have
1290 a pointer type to one of these. This will allow various
1291 optimisations in the future in llvm since the type is
1292 more accurate.
1293]
1294[Add support for parameter attributes to the llvm BE binding
1295David Terei <davidterei@gmail.com>**20100624111744
1296 Ignore-this: 77f3c0c7bf8f81c4a154dc835ae7bcba
1297 
1298 These allow annotations of the code produced by the backend
1299 which should bring some perforamnce gains. At the moment
1300 the attributes aren't being used though.
1301]
1302[Cast some more nats to StgWord to be on the safe side
1303Simon Marlow <marlowsd@gmail.com>**20100624105700
1304 Ignore-this: e6176683856f9872fdeb2358bb065bb8
1305 And add a comment about the dangers of int overflow
1306]
1307[comments only
1308Simon Marlow <marlowsd@gmail.com>**20100624105105
1309 Ignore-this: fc8f762f4c3a5ffca2f8da2bc63ac2a4
1310]
1311[Fix an arithmetic overflow bug causing crashes with multi-GB heaps
1312Simon Marlow <marlowsd@gmail.com>**20100624104654
1313 Ignore-this: 67210755aa098740ff5230347be0fd5d
1314]
1315[Add support for collecting PAPI native events
1316dmp@rice.edu**20100622195953
1317 Ignore-this: 7269f9c4dfb2912a024eb632200fcd1
1318 
1319 This patch extends the PAPI support in the RTS to allow collection of native
1320 events. PAPI can collect data for native events that are exposed by the
1321 hardware beyond the PAPI present events. The native events supported on your
1322 hardware can found by using the papi_native_avail tool.
1323 
1324 The RTS already allows users to specify PAPI preset events from the command
1325 line. This patch extends that support to allow users to specify native events.
1326 The changes needed are:
1327 
1328 1) New option (#) for the RTS PAPI flag for native events. For example, to
1329    collect the native event 0x40000000, use ./a.out +RTS -a#0x40000000 -sstderr
1330 
1331 2) Update the PAPI_FLAGS struct to store whether the user specified event is a
1332    papi preset or a native event
1333 
1334 3) Update init_countable_events function to add the native events after parsing
1335    the event code and decoding the name using PAPI_event_code_to_name
1336 
1337]
1338[Don't warn about unused bindings with parents in .hs-boot files; trac #3449
1339Ian Lynagh <igloo@earth.li>**20100624110351]
1340[fix the home_imps filter to allow for 'import "this" <module>'
1341Simon Marlow <marlowsd@gmail.com>**20100621125535
1342 Ignore-this: da4e605b0513afc32a4e7caa921a2c76
1343 In the PackageImports extension, import "this" means "import from the
1344 current package".
1345]
1346[Use the standard C wrapper code for the ghc-$version.exe wrapper
1347Ian Lynagh <igloo@earth.li>**20100622202859
1348 Ignore-this: 60cd3e6db3afb63e6ba9e2db3b033580
1349]
1350[Don't rely on "-packagefoo" working; use "-package foo" instead
1351Ian Lynagh <igloo@earth.li>**20100622202547]
1352[Remove unnecessary C #includes
1353Ian Lynagh <igloo@earth.li>**20100622172919]
1354[Make the ghci.exe wrapper call the right ghc.exe
1355Ian Lynagh <igloo@earth.li>**20100622172247]
1356[More updates to datalayout description in llvm BE
1357David Terei <davidterei@gmail.com>**20100622165339
1358 Ignore-this: b0c604fe7673b0aa7c7064694d574437
1359]
1360[Remove LlvmAs phase as the llvm opt tool now handles this phase
1361David Terei <davidterei@gmail.com>**20100622144044
1362 Ignore-this: b9fd8f959702b6af014e2fa654bede3
1363 
1364 This phase originally invoked the llvm-as tool that turns a textual
1365 llvm assembly file into a bit code file for the rest of llvm to deal
1366 with. Now the llvm opt tool can do this itself, so we don't need to
1367 use llvm-as anymore.
1368]
1369[Update datalayout info in llvm BE
1370David Terei <davidterei@gmail.com>**20100622123457
1371 Ignore-this: 89b043d211225dcd819f30549afe1840
1372]
1373[Fix handling of float literals in llvm BE
1374David Terei <davidterei@gmail.com>**20100622121642
1375 Ignore-this: a3b5f382ad4b5a426ad4b581664506fa
1376]
1377[Declare some top level globals to be constant when appropriate
1378David Terei <davidterei@gmail.com>**20100621174954
1379 Ignore-this: 44832f65550d4f995d11c01cc1affef5
1380 
1381 This involved removing the old constant handling mechanism
1382 which was fairly hard to use. Now being constant or not is
1383 simply a property of a global variable instead of a separate
1384 type.
1385]
1386[Reduce the number of passes over the cmm in llvm BE
1387David Terei <davidterei@gmail.com>**20100621125220
1388 Ignore-this: cb2f4e54e8d0f982d5087fbeee35c73c
1389]
1390[Fix negate op not working for -0 in llvm backend
1391David Terei <davidterei@gmail.com>**20100621123606
1392 Ignore-this: c5d76e5cffa781fed074137851b1347f
1393]
1394[ROLLBACK: picCCOpts: -dynamic should not entail -optc-fPIC
1395Simon Marlow <marlowsd@gmail.com>**20100621100409
1396 Ignore-this: f2fac7df33d3919199befc59bd455414
1397 and add a comment to explain why it was wrong.  This fixes the dyn
1398 test failures that sprang up recently.
1399]
1400[Check files are really created in libffi
1401Ian Lynagh <igloo@earth.li>**20100620163724
1402 when we think that the libffi build creates them, so they just depend
1403 on the libffi build stamp.
1404]
1405[Improve the missing-import-list warning
1406Ian Lynagh <igloo@earth.li>**20100620124320
1407 Ignore-this: 551e5fdf2dfb56b49d249e0cebaa6115
1408]
1409[Tweak missing-import-list warning
1410Ian Lynagh <igloo@earth.li>**20100620122622
1411 Ignore-this: 360cdf59ae13d66ded181129325506c4
1412]
1413[trac #1789 (warnings for missing import lists)
1414amsay@amsay.net**20100618150649
1415 Ignore-this: b0b0b1e048fbca0817c1e6fade1153fa
1416]
1417[Refix docs for sizeofByteArray#/sizeofMutableByteArray# (#3800)
1418Ian Lynagh <igloo@earth.li>**20100620103749]
1419[Remove some old commented out code
1420Ian Lynagh <igloo@earth.li>**20100620000459]
1421[SET_ARR_HDR's last argument is now a number of bytes, rather than words
1422Ian Lynagh <igloo@earth.li>**20100619235214
1423 This avoids unnecessary work and potential loss of information
1424]
1425[Replace an (incorrect) bytes-to-words calculation with ROUNDUP_BYTES_TO_WDS
1426Ian Lynagh <igloo@earth.li>**20100619234310]
1427[FIX #38000 Store StgArrWords payload size in bytes
1428Antoine Latter <aslatter@gmail.com>**20100101183346
1429 Ignore-this: 7bf3ab4fc080c46311fc10b179361bb6
1430]
1431[Add win32 datalayout support to llvm backend
1432David Terei <davidterei@gmail.com>**20100618131733
1433 Ignore-this: 4b7bffaa8ef38c628ab852c1a6c1c009
1434]
1435[Remove unused 'ddump-opt-llvm' flag
1436David Terei <davidterei@gmail.com>**20100618101237
1437 Ignore-this: f78467496d986897e49d82646ee2907e
1438]
1439[generate "movl lbl(%reg1), %reg2" instructions, better codegen for -fPIC
1440Simon Marlow <marlowsd@gmail.com>**20100618082258
1441 Ignore-this: a25567ebff9f575303ddc8f2deafebbf
1442]
1443[joinToTargets: fix a case of panic "handleComponent cyclic"
1444Simon Marlow <marlowsd@gmail.com>**20100618082147
1445 Ignore-this: 765baeefbb5a41724004acd92405cecc
1446]
1447[comment typo
1448Simon Marlow <marlowsd@gmail.com>**20100618082102
1449 Ignore-this: e495610b7dd5ec30b02938638b56cb7
1450]
1451[Add support of TNTC to llvm backend
1452David Terei <davidterei@gmail.com>**20100618093205
1453 Ignore-this: 2c27d21668374a5b0d5e844882c69439
1454 
1455 We do this through a gnu as feature called subsections,
1456 where you can put data/code into a numbered subsection
1457 and those subsections will be joined together in descending
1458 order by gas at compile time.
1459]
1460[Don't automatically insert a -fvia-C flag in an unregisterised compiler
1461Ian Lynagh <igloo@earth.li>**20100617190901
1462 Ignore-this: eb25a9a338fade9e17c153da7c5f27e9
1463 The default object mode is already HscC, so it's unnecessary, and
1464 -fvia-C generates a deprecated flag warning now.
1465]
1466[In PosixSource.h, conditionally define things based on platform
1467Ian Lynagh <igloo@earth.li>**20100617174912
1468 This may not be ideal, but it should get GHC building on all platforms
1469 again.
1470]
1471[disable -fPIC for the GC for performance reasons
1472Simon Marlow <marlowsd@gmail.com>**20100617140025
1473 Ignore-this: c7c152bbff71ef7891eaee8ff39fc281
1474 see comment for details
1475]
1476[picCCOpts: -dynamic should not entail -optc-fPIC
1477Simon Marlow <marlowsd@gmail.com>**20100617115259
1478 Ignore-this: d71e42bd56e4bd107d2c431b801855e5
1479]
1480[Make getAllocations() visible
1481Simon Marlow <marlowsd@gmail.com>**20100617113259
1482 Ignore-this: 1b7fb38a01358c0acbe8987df07d23f2
1483]
1484[Fix the symbol visibility pragmas
1485Simon Marlow <marlowsd@gmail.com>**20100617105758
1486 Ignore-this: 76552500865473a1dbebbc1cc2def9f0
1487]
1488[pick up changes to $(GhcStage1HcOpts) without re-configuring the ghc package
1489Simon Marlow <marlowsd@gmail.com>**20100616124718
1490 Ignore-this: afb56d5560c813051285607fefb15493
1491]
1492[Fix bindisttest Makefile
1493Ian Lynagh <igloo@earth.li>**20100616205611
1494 Ignore-this: 39cd352152422f378572fc3859c5a377
1495]
1496[Remove some more unused make variables
1497Ian Lynagh <igloo@earth.li>**20100616180519]
1498[Convert some more variable names to FOO_CMD, for consistency
1499Ian Lynagh <igloo@earth.li>**20100616175916]
1500[Rename some variables from FOO to FOO_CMD
1501Ian Lynagh <igloo@earth.li>**20100616161108
1502 This fixes a problem with commands like gzip, where if $GZIP is exported
1503 in the environment, then when make runs a command it'll put the Makefile
1504 variable's value in the environment. But gzip treats $GZIP as arguments
1505 for itself, so when we run gzip it thinks we're giving it "gzip" as an
1506 argument.
1507]
1508[Make the "show" target work anywhere in the build tree
1509Ian Lynagh <igloo@earth.li>**20100616122910
1510 Ignore-this: 299d40cbe16112accd9f14e56fa12158
1511]
1512[Change ghc-pwd's license to a string Cabal recognises
1513Ian Lynagh <igloo@earth.li>**20100615204015
1514 Ignore-this: c935b6ad7f605aab0168997a90b40fc6
1515]
1516[fix warning
1517Simon Marlow <marlowsd@gmail.com>**20100604205933
1518 Ignore-this: 2aaa4ed6a8b9ae1e39adc4696aaf14a3
1519]
1520[--install-signal-handles=no does not affect the timer signal (#1908)
1521Simon Marlow <marlowsd@gmail.com>**20100527214627
1522 Ignore-this: b0c51f1abdb159dc360662485095a11a
1523]
1524[Small optimisation: allocate nursery blocks contiguously
1525Simon Marlow <marlowsd@gmail.com>**20100509194928
1526 Ignore-this: e650e99e9ea9493d2efb245d565beef4
1527 This lets automatic prefetching work better, for a tiny performance boost
1528]
1529[fix -fforce-recomp setting: module is PrimOp, not PrimOps
1530Simon Marlow <marlowsd@gmail.com>**20100507084507
1531 Ignore-this: f76e0d9b643682ec0e8fb7d91afdea68
1532]
1533[it should be an error to use relative directories (#4134)
1534Simon Marlow <marlowsd@gmail.com>**20100615151740
1535 Ignore-this: 2068021701832e018ca41b22877921d5
1536]
1537[missing include-dirs or library-dirs is only a warning now (#4104)
1538Simon Marlow <marlowsd@gmail.com>**20100615151702
1539 Ignore-this: e3114123cef147bbd28ccb64581a1afb
1540]
1541[fix #3822: desugaring case command in arrow notation
1542Ross Paterson <ross@soi.city.ac.uk>**20100615225110
1543 Ignore-this: 477d6c460b4174b94b4cd113fa5b9d19
1544 
1545 Get the set of free variables from the generated case expression:
1546 includes variables in the guards and decls that were missed before,
1547 and is also a bit simpler.
1548]
1549[Deprecate the -fvia-C flag; trac #3232
1550Ian Lynagh <igloo@earth.li>**20100615151836
1551 Ignore-this: c2452b2648bf7e44546465c1b964fce
1552]
1553[Avoid using the new ~~ perl operator in the mangler
1554Ian Lynagh <igloo@earth.li>**20100615151236
1555 Ignore-this: 709a7ba4e514b1596841b3ba7e5c6cc
1556]
1557[stmAddInvariantToCheck: add missing init of invariant->lock (#4057)
1558Simon Marlow <marlowsd@gmail.com>**20100615123643
1559 Ignore-this: 3b132547fa934cecf71a846db2a5f70e
1560]
1561[Add new LLVM code generator to GHC. (Version 2)
1562David Terei <davidterei@gmail.com>**20100615094714
1563 Ignore-this: 4dd2fe5854b64a3f0339d484fd5c238
1564 
1565 This was done as part of an honours thesis at UNSW, the paper describing the
1566 work and results can be found at:
1567 
1568 http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf
1569 
1570 A Homepage for the backend can be found at:
1571 
1572 http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM
1573 
1574 Quick summary of performance is that for the 'nofib' benchmark suite, runtimes
1575 are within 5% slower than the NCG and generally better than the C code
1576 generator.  For some code though, such as the DPH projects benchmark, the LLVM
1577 code generator outperforms the NCG and C code generator by about a 25%
1578 reduction in run times.
1579 
1580]
1581[Fix Trac #4127: build GlobalRdrEnv in GHCi correctly
1582simonpj@microsoft.com**20100615070626
1583 Ignore-this: d907e3bfa7882878cea0af172aaf6e84
1584 
1585 GHCi was building its GlobalRdrEnv wrongly, so that the
1586 gre_par field was bogus.  That in turn fooled the renamer.
1587 The fix is easy: use the right function!  Namely, call
1588 RnNames.gresFromAvail rather than availsToNameSet.
1589]
1590[Comments, and improvement to pretty-printing of HsGroup
1591simonpj@microsoft.com**20100615070409
1592 Ignore-this: ec8358f2485370b20226a97ec84e9024
1593]
1594[Don't reverse bindings in rnMethodBinds (fix Trac #4126)
1595simonpj@microsoft.com**20100614163935
1596 Ignore-this: a6ffbb5af6f51b142ed0aeae8ee5e3a9
1597]
1598[Fix Trac #4120: generate a proper coercion when unifying forall types
1599simonpj@microsoft.com**20100614134311
1600 Ignore-this: 601592bb505305f1954cbe730f168da4
1601 
1602 This was just a blatant omission, which hasn't come up before.
1603 Easily fixed, happily.
1604]
1605[Use mkFunTy to ensure that invariants are respected
1606simonpj@microsoft.com**20100614134159
1607 Ignore-this: 67dcada7a4e8d9927581cd77af71b6f
1608]
1609[Remove redundant debug code
1610simonpj@microsoft.com**20100601154151
1611 Ignore-this: e6ff11c04c631cf6aac73788cbcf02b5
1612]
1613[Fix Trac #4099: better error message for type functions
1614simonpj@microsoft.com**20100531140413
1615 Ignore-this: 3f53ca98cf770577818b9c0937482577
1616 
1617 Now we only want about "T is a type function and might not be
1618 injective" when matchin (T x) against (T y), which is the case
1619 that is really confusing.
1620]
1621[Gruesome fix in CorePrep to fix embarassing Trac #4121
1622simonpj@microsoft.com**20100614132726
1623 Ignore-this: fe82d15474afaac3e6133adfd7a7e055
1624 
1625 This is a long-lurking bug that has been flushed into
1626 the open by other arity-related changes.  There's a
1627 long comment
1628 
1629      Note [CafInfo and floating]
1630 
1631 to explain. 
1632 
1633 I really hate the contortions we have to do through to keep correct
1634 CafRef information on top-level binders.  The Right Thing, I believe,
1635 is to compute CAF and arity information later, and merge it into the
1636 interface-file information when the latter is generated.
1637 
1638 But for now, this hackily fixes the problem.
1639]
1640[Fix a bug in CorePrep that meant output invariants not satisfied
1641simonpj@microsoft.com**20100531150013
1642 Ignore-this: d34eb36d8877d3caf1cf2b20de426abd
1643 
1644 In cpePair I did things in the wrong order so that something that
1645 should have been a CprRhs wasn't.  Result: a crash in CoreToStg.
1646 Fix is easy, and I added more informative type signatures too.
1647]
1648[Robustify the treatement of DFunUnfolding
1649simonpj@microsoft.com**20100531145332
1650 Ignore-this: 8f5506ada4d89f6ab8ad1e8c3ffb09ba
1651 
1652 See Note [DFun unfoldings] in CoreSyn.  The issue here is that
1653 you can't tell how many dictionary arguments a DFun needs just
1654 from looking at the Arity of the DFun Id: if the dictionary is
1655 represented by a newtype the arity might include the dictionary
1656 and value arguments of the (single) method.
1657 
1658 So we need to record the number of arguments need by the DFun
1659 in the DFunUnfolding itself.  Details in
1660    Note [DFun unfoldings] in CoreSyn
1661]
1662[Fix spelling in comment
1663simonpj@microsoft.com**20100614132259
1664 Ignore-this: bbf0d55f2e5f10ef9c74592c12f9201c
1665]
1666[Update docs on view patterns
1667simonpj@microsoft.com**20100614074801
1668 Ignore-this: 8617b9078800d4942d71f142a5b6c831
1669]
1670[Fix printing of splices; part of #4124
1671Ian Lynagh <igloo@earth.li>**20100613154838
1672 Just putting parens around non-atomic expressions isn't sufficient
1673 for splices, as only the $x and $(e) forms are valid input.
1674]
1675[In ghci, catch IO exceptions when calling canonicalizePath
1676Ian Lynagh <igloo@earth.li>**20100613134627
1677 We now get an exception if the path doesn't exist
1678]
1679[Whitespace only
1680Ian Lynagh <igloo@earth.li>**20100612213119]
1681[Whitespace only
1682Ian Lynagh <igloo@earth.li>**20100612165450]
1683[Update ghci example output in user guide; patch from YitzGale in #4111
1684Ian Lynagh <igloo@earth.li>**20100612162250]
1685[Fix #4131 missing UNTAG_CLOSURE in messageBlackHole()
1686benl@ouroborus.net**20100611044614]
1687[messageBlackHole: fix deadlock bug caused by a missing 'volatile'
1688Simon Marlow <marlowsd@gmail.com>**20100610080636
1689 Ignore-this: 3cda3054bb45408aa9bd2d794b69c938
1690]
1691[Pass --no-tmp-comp-dir to Haddock (see comment)
1692Simon Marlow <marlowsd@gmail.com>**20100604083214
1693 Ignore-this: bfa4d74038637bd149f4d878b4eb8a87
1694]
1695[Track changes to DPH libs
1696Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607052903
1697 Ignore-this: 4dbc3f8418af3e74b3fc4f9a9dfe7764
1698]
1699[Track changes to DPH libs
1700Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607012642
1701 Ignore-this: 5d4e498171a3c57ab02621bfaea82cff
1702]
1703[In ghc-pkg, send warnings to stderr
1704Ian Lynagh <igloo@earth.li>**20100606161726
1705 Ignore-this: 56927d13b5e1c1ce2752734f0f9b665b
1706]
1707[Re-add newlines to enable layout for multi-line input.
1708Ian Lynagh <igloo@earth.li>**20100602180737
1709 Patch from Adam Vogt <vogt.adam@gmail.com>
1710 Partial fix for #3984
1711]
1712[Don't use unnecessary parens when printing types (Fix Trac 4107)
1713simonpj@microsoft.com**20100604110143
1714 Ignore-this: a833714ab13013c4345b222f4e87db1d
1715 
1716    f :: Eq a => a -> a
1717 rather than
1718    f :: (Eq a) => a -> a
1719]
1720[Track DPH library changes
1721Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005728
1722 Ignore-this: 32bc2fbea6ad975e89545d4c42fd7c30
1723]
1724[fix --source-entity option passed to Haddock: we needed to escape a #
1725Simon Marlow <marlowsd@gmail.com>**20100603125459
1726 Ignore-this: d52ae6188b510c482bcebb23f0e553ae
1727]
1728[__stg_EAGER_BLACKHOLE_INFO -> __stg_EAGER_BLACKHOLE_info (#4106)
1729Simon Marlow <marlowsd@gmail.com>**20100602091419
1730 Ignore-this: 293315ac8f86fd366b8d61992ecc7961
1731]
1732[Add xhtml package (a new dependency of Haddock; not installed/shipped)
1733Simon Marlow <marlowsd@gmail.com>**20100602090101
1734 Ignore-this: af0ac8b91abe98f7fdb624ea0a4dee20
1735]
1736[Use UserInterrupt rather than our own Interrupted exception (#4100)
1737Simon Marlow <marlowsd@gmail.com>**20100602082345
1738 Ignore-this: 1909acf2f452593138b9f85024711714
1739]
1740[Add the global package DB to ghc --info (#4103)
1741Simon Marlow <marlowsd@gmail.com>**20100602082233
1742 Ignore-this: fd5c0e207e70eb0f62606c45dc5b8124
1743]
1744[rts/sm/GC.c: resize_generations(): Remove unneeded check of number of generations.
1745Marco Túlio Gontijo e Silva <marcot@debian.org>**20100528115612
1746 Ignore-this: 6f1bea62917c01c7adac636146132c97
1747 
1748 This "if" is inside another "if" which checks for RtsFlags.GcFlags.generations
1749 > 1, so testing this again is redundant, assuming the number of generations
1750 won't change during program execution.
1751]
1752[rts/sm/BlockAlloc.c: Small comment correction.
1753Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526205839
1754 Ignore-this: bd2fcd4597cc872d80b0e2eeb1c3998a
1755]
1756[rts/sm/GC.c: Annotate constants.
1757Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526205707
1758 Ignore-this: f232edb89383564d759ed890a18f602f
1759]
1760[includes/rts/storage/GC.h: generation_: n_words: Improve comment.
1761Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526204615
1762 Ignore-this: f5d5feefa8f7b552303978f1804fea23
1763]
1764[Add PPC_RELOC_LOCAL_SECTDIFF support; patch from PHO in #3654
1765Ian Lynagh <igloo@earth.li>**20100601204211
1766 Ignore-this: 51293b7041cdce3ce7619ef11cf7ceb
1767]
1768[powerpc-apple-darwin now supports shared libs
1769Ian Lynagh <igloo@earth.li>**20100601173325]
1770[PIC support for PowerPC
1771pho@cielonegro.org**20100508143900
1772 Ignore-this: 3673859a305398c4acae3f4d7c997615
1773 
1774 PPC.CodeGen.getRegister was not properly handling PicBaseReg.
1775 It seems working with this patch, but I'm not sure this change is correct.
1776]
1777[Vectoriser: only treat a function as scalar if it actually computes something
1778Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100601045630
1779 Ignore-this: e5d99a6ddb62052e3520094a5af47552
1780]
1781[Add a release notes file for 6.14.1
1782Ian Lynagh <igloo@earth.li>**20100530171117
1783 Ignore-this: 1941e6d3d1f4051b69ca2f17a1cf84d6
1784]
1785[Check dblatex actually creates the files we tell it to
1786Ian Lynagh <igloo@earth.li>**20100530171043
1787 Ignore-this: ccc72caea2313be05cbac59bb54c0603
1788 If it fails, it still exits successfully.
1789]
1790[Add darwin to the list of OSes for which we use mmap
1791Ian Lynagh <igloo@earth.li>**20100529145016
1792 Ignore-this: a86d12a3334aaaafc86f7af9dbb0a7ae
1793 Patch from Barney Stratford
1794]
1795[Simplify the CPP logic in rts/Linker.c
1796Ian Lynagh <igloo@earth.li>**20100529144929
1797 Ignore-this: 1288f5b752cc1ab8b1c90cfd0ecfdf68
1798]
1799[Fix validate on OS X
1800Ian Lynagh <igloo@earth.li>**20100529154726]
1801[OS X x86_64 fix from Barney Stratford
1802Ian Lynagh <igloo@earth.li>**20100529122440]
1803[OS X 64 installer fixes from Barney Stratford
1804Ian Lynagh <igloo@earth.li>**20100528234935]
1805[fix warning
1806Simon Marlow <marlowsd@gmail.com>**20100525155812
1807 Ignore-this: f34eee3fe3d89579fd8d381c91ced750
1808]
1809[Fix doc bugs (#4071)
1810Simon Marlow <marlowsd@gmail.com>**20100525155728
1811 Ignore-this: aa25be196de567de360075022a1942f7
1812]
1813[Make sparks into weak pointers (#2185)
1814Simon Marlow <marlowsd@gmail.com>**20100525150435
1815 Ignore-this: feea0bb5006007b82c932bc3006124d7
1816 The new strategies library (parallel-2.0+, preferably 2.2+) is now
1817 required for parallel programming, otherwise parallelism will be lost.
1818]
1819[If you say 'make' or 'make stage=2' here, pretend we're in the ghc dir
1820Simon Marlow <marlowsd@gmail.com>**20100525085301
1821 Ignore-this: 78b740337aa460915c812cbbcdae5321
1822]
1823[Another attempt to get these #defines right
1824Simon Marlow <marlowsd@gmail.com>**20100525154313
1825 Ignore-this: 460ca0c47d81cd25eae6542114f67899
1826 Apparently on Solaris it is an error to omit _ISOC99_SOURCE when using
1827 _POSIX_C_SOURCE==200112L.
1828]
1829[Add configure flags for the location of GMP includes/library; fixes #4022
1830Ian Lynagh <igloo@earth.li>**20100525221616
1831 Ignore-this: fc3060caf995d07274ec975eeefbdf3e
1832]
1833[Refactor pretty printing of TyThings to fix Trac #4015
1834simonpj@microsoft.com**20100525153126
1835 Ignore-this: 8f15053b7554f62caa84201d2e4976d2
1836]
1837[When haddocking, we need the dependencies to have been built
1838Ian Lynagh <igloo@earth.li>**20100525145830
1839 as haddock loads the .hi files with the GHC API.
1840]
1841[Fix profiling output; spotted by jlouis
1842Ian Lynagh <igloo@earth.li>**20100525111217
1843 We were outputing the number of words allocated in a column titled "bytes".
1844]
1845[Improve printing of TyThings; fixes Trac #4087
1846simonpj@microsoft.com**20100525114045
1847 Ignore-this: da2a757a533454bba80b9b77cc5a771
1848]
1849[Spelling in comments
1850simonpj@microsoft.com**20100525114001
1851 Ignore-this: 270f3da655e526cf04e27db7a01e29c0
1852]
1853[Refactor (again) the handling of default methods
1854simonpj@microsoft.com**20100525113910
1855 Ignore-this: 6686f6cdb878d57abf6b49fec64fcbb1
1856 
1857 This patch fixes Trac #4056, by
1858 
1859  a) tidying up the treatment of default method names
1860  b) removing the 'module' argument to newTopSrcBinder
1861 
1862 The details aren't that interesting, but the result
1863 is much tidier. The original bug was a 'nameModule' panic,
1864 caused by trying to find the module of a top-level name.
1865 But TH quotes generate Internal top-level names that don't
1866 have a module, and that is generally a good thing. 
1867 
1868 Fixing that in turn led to the default-method refactoring,
1869 which also makes the Name for a default method be handled
1870 in the same way as other derived names, generated in BuildTyCl
1871 via a call newImplicitBinder.  Hurrah.
1872]
1873[Don't do SpecConstr on NOINLINE things (Trac #4064)
1874simonpj@microsoft.com**20100525112807
1875 Ignore-this: 452be0a2cef0042fb67275c2827b5f72
1876 
1877 Since the RULE from specialising gets the same Activation as
1878 the inlining for the Id itself there's no point in specialising
1879 a NOINLINE thing, because the rule will be permanently switched
1880 off.
1881 
1882 See Note [Transfer activation] in SpecConstr
1883 and Note [Auto-specialisation and RULES] in Specialise.
1884]
1885[Change our #defines to work on FreeBSD too
1886Simon Marlow <marlowsd@gmail.com>**20100524105828
1887 Ignore-this: b23ede46211e67859206c0ec57d6a86f
1888 With glibc, things like _POSIX_C_SOURCE and _ISOC99_SOURCE are
1889 additive, but on FreeBSD they are mutually exclusive.  However, it
1890 turns out we only need to define _POSIX_C_SOURCE and _XOPEN_SOURCE to
1891 get all the C99 stuff we need too, so there's no need for any #ifdefs.
1892 
1893 Submitted by: Gabor PALI <pgj@FreeBSD.org>
1894]
1895[Add a missing UNTAG_CLOSURE, causing bus errors on Sparc
1896Simon Marlow <marlowsd@gmail.com>**20100524105547
1897 Ignore-this: a590b5391d6f05d50c8c088456c3c166
1898 We just about got away with this on x86 which isn't
1899 alignment-sensitive.  The result of the memory load is compared
1900 against a few different values, but there is a fallback case that
1901 happened to be the right thing when the pointer was tagged.  A good
1902 bug to find, nonetheless.
1903]
1904[Add wiki links
1905Simon Marlow <marlowsd@gmail.com>**20100520095953
1906 Ignore-this: c22f126cde166e6207922b2eb51d29e3
1907]
1908[the 'stage=0' trick to disable all compiler builds stopped working; fix it
1909Simon Marlow <marlowsd@gmail.com>**20100520104455
1910 Ignore-this: bb6fae9056471612c8dbf06916188c33
1911]
1912[Comments and formatting only
1913benl@ouroborus.net**20100524014021
1914 Ignore-this: 64579c38154728b632e358bec751cc0b
1915]
1916[Core prettyprinter fixes. Patch from Tim Chevalier. Fixes #4085
1917Ian Lynagh <igloo@earth.li>**20100522225048]
1918[Correct install-name for dynamic Darwin rts
1919pho@cielonegro.org**20100508151155
1920 Ignore-this: 6d31716c8c113dcb46e9cb925c4201df
1921]
1922[Fix the RTS debug_p build
1923Ian Lynagh <igloo@earth.li>**20100522163127]
1924[Unset $CFLAGS for "GNU non-executable stack" configure test; fixes #3889
1925Ian Lynagh <igloo@earth.li>**20100521165005
1926 With gcc 4.4 we get
1927     Error: can't resolve `.note.GNU-stack' {.note.GNU-stack section} - `.Ltext0' {.text section}
1928 when running gcc with the -g flag. To work around this we unset
1929 CFLAGS when running the test.
1930]
1931[Don't run "set -o igncr" before configuring libffi
1932Ian Lynagh <igloo@earth.li>**20100520162918
1933 Ignore-this: 489fa94df23f2adf4ff63c8ede2c0794
1934 It used to make the build work on cygwin, but now it breaks it instead:
1935     config.status: creating include/Makefile
1936     gawk: ./confLqjohp/subs.awk:1: BEGIN {\r
1937     gawk: ./confLqjohp/subs.awk:1: ^ backslash not last character on line
1938     config.status: error: could not create include/Makefile
1939     make[2]: *** [libffi/stamp.ffi.configure-shared] Error 1
1940     make[1]: *** [all] Error 2
1941]
1942[Stop passing -Wl,-macosx_version_min to gcc
1943Ian Lynagh <igloo@earth.li>**20100520154003
1944 Fixes a build failure on OS X 10.6. When linking
1945     rts/dist/build/libHSrts-ghc6.13.20100519.dylib
1946 we got
1947     ld: symbol dyld_stub_binding_helper not defined (usually in crt1.o/dylib1.o/bundle1.o)
1948     collect2: ld returned 1 exit status
1949]
1950[Fix build on FreeBSD; patch from Gabor PALI
1951Ian Lynagh <igloo@earth.li>**20100519140552]
1952[Fix package shadowing order (#4072)
1953Simon Marlow <marlowsd@gmail.com>**20100519104617
1954 Ignore-this: 26ea5e4bb5dff18618b807a54c7d6ebb
1955 
1956 Later packages are supposed to shadow earlier ones in the stack,
1957 unless the ordering is overriden with -package-id flags.
1958 Unfortunately an earlier fix for something else had sorted the list of
1959 packages so that it was in lexicographic order by installedPackageId,
1960 and sadly our test (cabal/shadow) didn't pick this up because the
1961 lexicographic ordering happened to work for the test.  I've now fixed
1962 the test so it tries both orderings.
1963]
1964[Set more env variables when configuring libffi
1965Ian Lynagh <igloo@earth.li>**20100518185014
1966 We now tell it where to find ld, nm and ar
1967]
1968[Set the location of ar to be the in-tree ar on Windows
1969Ian Lynagh <igloo@earth.li>**20100518181556]
1970[Change another / to </> to avoid building paths containing \/
1971Ian Lynagh <igloo@earth.li>**20100518172015
1972 This will hopefully fix #2889.
1973]
1974[Fix #4074 (I hope).
1975Simon Marlow <marlowsd@gmail.com>**20100518113214
1976 Ignore-this: 73cd70f5bc6f5add5247b61985c03fc1
1977 
1978 1. allow multiple threads to call startTimer()/stopTimer() pairs
1979 2. disable the timer around fork() in forkProcess()
1980 
1981 A corresponding change to the process package is required.
1982]
1983[we don't have a gcc-lib in LIB_DIR any more
1984Simon Marlow <marlowsd@gmail.com>**20100401102351
1985 Ignore-this: f41acd2d8f8e6763aa8bd57a0b44a7e4
1986]
1987[In validate, use gmake if available; based on a patch from Gabor PALI
1988Ian Lynagh <igloo@earth.li>**20100517200654]
1989[Remove duplicate "./configure --help" output; fixes #4075
1990Ian Lynagh <igloo@earth.li>**20100516141206]
1991[Update various 'sh boot's to 'perl boot'
1992Ian Lynagh <igloo@earth.li>**20100516122609
1993 Spotted by Marco Túlio Gontijo e Silva
1994]
1995[add missing initialisation for eventBufMutex
1996Simon Marlow <marlowsd@gmail.com>**20100514094943
1997 Ignore-this: 7f75594a8cb54fbec5aebd46bb959f45
1998]
1999[Undo part of #4003 patch
2000Simon Marlow <marlowsd@gmail.com>**20100513142017
2001 Ignore-this: cb65db86a38a7e5ccee9f779e489d104
2002 We still need the workaround for when compiling HEAD with 6.12.2
2003 
2004]
2005[Fix makefile loop (#4050)
2006pho@cielonegro.org**20100507140707
2007 Ignore-this: 3a1cb13d0600977e74d17ac26cbef83d
2008 
2009 The libtool creates "libffi.dylib" and "libffi.5.dylib" but not "libffi.5.0.9.dylib". Having it in libffi_DYNAMIC_LIBS causes an infinite makefile loop.
2010]
2011[fix !TABLES_NEXT_TO_CODE
2012Simon Marlow <marlowsd@gmail.com>**20100510151934
2013 Ignore-this: fccb859b114bef1c3122c98e60af51
2014]
2015[looksLikeModuleName: allow apostrophe in module names (#4051)
2016Simon Marlow <marlowsd@gmail.com>**20100510094741
2017 Ignore-this: df9348f3ba90608bec57257b47672985
2018]
2019[add the proper library dependencies for GhcProfiled=YES
2020Simon Marlow <marlowsd@gmail.com>**20100506122118
2021 Ignore-this: 6236993aa308ab5b5e1e5ea5f65982a
2022]
2023[Fix Trac #4003: fix the knot-tying in checkHiBootIface
2024simonpj@microsoft.com**20100511075026
2025 Ignore-this: a9ce2a318386fdc8782848df84592002
2026 
2027 I had incorrectly "optimised" checkHiBootIface so that it forgot
2028 to update the "knot-tied" type environment.
2029 
2030 This patch fixes the HEAD
2031]
2032[Re-engineer the derived Ord instance generation code (fix Trac #4019)
2033simonpj@microsoft.com**20100510133333
2034 Ignore-this: 8fe46e4dad27fbee211a7928acf372c2
2035   
2036 As well as fixing #4019, I rejigged the way that Ord instances are
2037 generated, which should make them faster in general.  See the
2038 Note [Generating Ord instances].
2039 
2040 I tried to measure the performance difference from this change, but
2041 the #4019 fix only removes one conditional branch per iteration, and
2042 I couldn't measure a consistent improvement.  But still, tihs is
2043 better than before.
2044]
2045[Make arity of INLINE things consistent
2046simonpj@microsoft.com**20100510133005
2047 Ignore-this: 15e7abf803d1dcb3f4ca760d2d939d0d
2048 
2049 We eta-expand things with INLINE pragmas;
2050 see Note [Eta-expanding INLINE things].
2051 
2052 But I eta-expanded it the wrong amount when the function
2053 was overloaded.  Ooops.
2054]
2055[Compacting GC fix, we forgot to thread the new bq field of StgTSO.
2056Simon Marlow <marlowsd@gmail.com>**20100510082325
2057 Ignore-this: a079c8446e2ad53efff6fd95d0f3ac80
2058]
2059[Add version constraints for the boot packages; fixes trac #3852
2060Ian Lynagh <igloo@earth.li>**20100509175051
2061 When using the bootstrapping compiler, we now explicitly constrain
2062 the version of boot packages (Cabal, extensible-exceptions, etc) to the
2063 in-tree version, so that the build system is less fragile should the
2064 user have a newer version installed for the bootstrapping compiler.
2065]
2066[Don't include inter-package dependencies when compiling with stage 0; #4031
2067Ian Lynagh <igloo@earth.li>**20100509130511
2068 This fixes a problem when building with GHC 6.12 on Windows, where
2069 dependencies on stage 0 (bootstrapping compiler) packages have absolute
2070 paths c:/ghc/..., and make gets confused by the colon.
2071]
2072[Add a ghc.mk for bindisttest/
2073Ian Lynagh <igloo@earth.li>**20100508223911]
2074[Move some make variables around so they are available when cleaning
2075Ian Lynagh <igloo@earth.li>**20100508212405]
2076[Optimise checkremove a bit
2077Ian Lynagh <igloo@earth.li>**20100508202006]
2078[Improve the bindisttest Makefile
2079Ian Lynagh <igloo@earth.li>**20100508195450]
2080[Add tools to test that cleaning works properly
2081Ian Lynagh <igloo@earth.li>**20100508194105]
2082[Tweak the ghc-pkg finding code
2083Ian Lynagh <igloo@earth.li>**20100508125815
2084 It now understand the ghc-stage[123] names we use in-tree, and it won't
2085 go looking for any old ghc-pkg if it can't find the one that matches
2086 ghc.
2087]
2088[Add a way to show what cleaning would be done, without actually doing it
2089Ian Lynagh <igloo@earth.li>**20100508122438]
2090[Tidy up the "rm" flags in the build system
2091Ian Lynagh <igloo@earth.li>**20100508115745]
2092[Fix crash in nested callbacks (#4038)
2093Simon Marlow <marlowsd@gmail.com>**20100507093222
2094 Ignore-this: cade85e361534ce711865a4820276388
2095 Broken by "Split part of the Task struct into a separate struct
2096 InCall".
2097]
2098[Add $(GhcDynamic) knob, set to YES to get stage2 linked with -dynamic
2099Simon Marlow <marlowsd@gmail.com>**20100428205241
2100 Ignore-this: 1db8bccf92099785ecac39aebd27c92d
2101 Default currently NO.
2102 
2103 Validate passed with GhcDynamic=YES on x86/Linux here.
2104 
2105 The compiler is currently slower on x86 when linked -dynamic,
2106 because the GC inner loop has been adversely affected by -fPIC, I'm
2107 looking into how to fix it.
2108]
2109[omit "dyn" from the way appended to the __stginit label
2110Simon Marlow <marlowsd@gmail.com>**20100428204914
2111 Ignore-this: 14183f3defa9f2bde68fda6729b740bc
2112 When GHCi is linked dynamically, we still want to be able to load
2113 non-dynamic object files.
2114]
2115[improvements to findPtr(), a neat hack for browsing the heap in gdb
2116Simon Marlow <marlowsd@gmail.com>**20100506115427
2117 Ignore-this: ac57785bb3e13b97a5945f753f068738
2118]
2119[Fix +RTS -G1
2120Simon Marlow <marlowsd@gmail.com>**20100506110739
2121 Ignore-this: 86a5de39a94d3331a4ee1213f82be497
2122]
2123[Enable the "redundant specialise pragmas" warning; fixes trac #3855
2124Ian Lynagh <igloo@earth.li>**20100506175351]
2125[Find the correct external ids when there's a wrapper
2126simonpj@microsoft.com**20100506164135
2127 Ignore-this: 636266407b174b05b2b8646cc73062c0
2128 
2129 We were failing to externalise the wrapper id for a function
2130 that had one.
2131]
2132[Add a comment about pattern coercions
2133simonpj@microsoft.com**20100506164027
2134 Ignore-this: 17428089f3df439f65d892e23e8ed61a
2135]
2136[Comments only
2137simonpj@microsoft.com**20100506163829
2138 Ignore-this: 169167b6463873ab173cc5750c5be469
2139]
2140[Make a missing name in mkUsageInfo into a panic
2141simonpj@microsoft.com**20100506163813
2142 Ignore-this: b82ff1b8bf89f74f146db7cb5cc4c4d7
2143 
2144 We really want to know about this!
2145]
2146[Refactoring of hsXxxBinders
2147simonpj@microsoft.com**20100506163737
2148 Ignore-this: 97c6667625262b160f9746f7bea1c980
2149 
2150 This patch moves various functions that extract the binders
2151 from a HsTyClDecl, HsForeignDecl etc into HsUtils, and gives
2152 them consistent names.
2153]
2154[Fix Trac #3966: warn about useless UNPACK pragmas
2155simonpj@microsoft.com**20100506163337
2156 Ignore-this: 5beb24b686eda6113b614dfac8490df1
2157 
2158 Warning about useless UNPACK pragmas wasn't as easy as I thought.
2159 I did quite a bit of refactoring, which improved the code by refining
2160 the types somewhat.  In particular notice that in DataCon, we have
2161 
2162     dcStrictMarks   :: [HsBang]
2163     dcRepStrictness :: [StrictnessMarks]
2164 
2165 The former relates to the *source-code* annotation, the latter to
2166 GHC's representation choice.
2167]
2168[Make tcg_dus behave more sanely; fixes a mkUsageInfo panic
2169simonpj@microsoft.com**20100506162719
2170 Ignore-this: d000bca15b0e127e297378ded1bfb81b
2171 
2172 The tcg_dus field used to contain *uses* of type and class decls,
2173 but not *defs*.  That was inconsistent, and it really went wrong
2174 for Template Haskell bracket.  What happened was that
2175  foo = [d| data A = A
2176                   f :: A -> A
2177                   f x = x |]
2178 would find a "use" of A when processing the top level of the module,
2179 which in turn led to a mkUsageInfo panic in MkIface.  The cause was
2180 the fact that the tcg_dus for the nested quote didn't have defs for
2181 A.
2182]
2183[Add a HsExplicitFlag to SpliceDecl, to improve Trac #4042
2184simonpj@microsoft.com**20100506161523
2185 Ignore-this: e4e563bac2fd831cc9e94612f5b4fa9d
2186 
2187 The issue here is that
2188 
2189     g :: A -> A
2190     f
2191     data A = A
2192 
2193 is treated as if you'd written $(f); that is the call of
2194 f is a top-level Template Haskell splice.  This patch
2195 makes sure that we *first* check the -XTemplateHaskellFlag
2196 and bleat about a parse error if it's off.  Othewise we
2197 get strange seeing "A is out of scope" errors.
2198]
2199[Change an assert to a warn
2200simonpj@microsoft.com**20100506161111
2201 Ignore-this: 739a4fb4c7940376b0f2c8ad52a1966c
2202 
2203 This is in the constraint simplifier which I'm about
2204 to rewrite, so I'm hoping the assert isn't fatal!
2205]
2206[Tidy up debug print a little
2207simonpj@microsoft.com**20100506161027
2208 Ignore-this: bd5492878e06bee1cddcbb3fc4df66d8
2209]
2210[Remove useless UNPACK pragmas
2211simonpj@microsoft.com**20100506161012
2212 Ignore-this: 3e5ab1a7cf58107034412a798bc214e5
2213]
2214[Add WARNM2 macro, plus some refactoring
2215simonpj@microsoft.com**20100506160808
2216 Ignore-this: 2ab4f1f0b5d94be683036e77aec09255
2217]
2218[Use -Wwarn for the binary package, becuase it has redundant UNPACK pragmas
2219simonpj@microsoft.com**20100506160750
2220 Ignore-this: cf0d3a11473e28bfce9602e716e69a5f
2221]
2222[Fix Trac #3966: warn about unused UNPACK pragmas
2223simonpj@microsoft.com**20100409201812
2224 Ignore-this: c96412596b39c918b5fb9b3c39ce2119
2225]
2226[Fix Trac #3953: fail earlier when using a bogus quasiquoter
2227simonpj@microsoft.com**20100409201748
2228 Ignore-this: ef48e39aa932caed538643985234f043
2229]
2230[Fix Trac #3965: tighten conditions when deriving Data
2231simonpj@microsoft.com**20100409184420
2232 Ignore-this: 96f7d7d2da11565d26b465d7d0497ac9
2233 
2234 It's tricky to set up the context for a Data instance.  I got it wrong
2235 once, and fixed it -- hence the "extra_constraints" in
2236 TcDeriv.inferConstraints. 
2237 
2238 But it still wasn't right!  The tricky bit is that dataCast1 is only
2239 generated when T :: *->*, and dataCast2 when T :: *->*->*. (See
2240 the code in TcGenDeriv for dataCastX.
2241]
2242[Fix Trac #3964: view patterns in DsArrows
2243simonpj@microsoft.com**20100409165557
2244 Ignore-this: d823c182831d5e2e592e995b16180e2f
2245 
2246 Just a missing case; I've eliminated the catch-all so
2247 that we get a warning next time we extend HsPat
2248]
2249[Fix Trac #3955: renamer and type variables
2250simonpj@microsoft.com**20100409163710
2251 Ignore-this: bd5ec64d76c0f583bf5f224792bf294c
2252 
2253 The renamer wasn't computing the free variables of a type declaration
2254 properly.  This patch refactors a bit, and makes it more robust,
2255 fixing #3955 and several other closely-related bugs.  (We were
2256 omitting some free variables and that could just possibly lead to a
2257 usage-version tracking error.
2258]
2259[Layout only
2260simonpj@microsoft.com**20100409163506
2261 Ignore-this: 1f14990b5aa0b9821b84452fb34e9f41
2262]
2263[Give a better deprecated message for INCLUDE pragmas; fixes #3933
2264Ian Lynagh <igloo@earth.li>**20100506130910
2265 We now have a DeprecatedFullText constructor, so we can override the
2266 "-#include is deprecated: " part of the warning.
2267]
2268[De-haddock a comment that confuses haddock
2269Ian Lynagh <igloo@earth.li>**20100506123607]
2270[Fix comment to not confuse haddock
2271Ian Lynagh <igloo@earth.li>**20100506113642]
2272[Detect EOF when trying to parse a string in hp2ps
2273Ian Lynagh <igloo@earth.li>**20100506000830]
2274[Make the demand analyser sdd demands for strict constructors
2275simonpj@microsoft.com**20100505200936
2276 Ignore-this: eb32632adbc354eb7a5cf884c263e0d3
2277 
2278 This opportunity was spotted by Roman, and is documented in
2279 Note [Add demands for strict constructors] in DmdAnal.
2280]
2281[Fix interaction of exprIsCheap and the lone-variable inlining check
2282simonpj@microsoft.com**20100505200723
2283 Ignore-this: f3cb65085c5673a99153d5d7b6559ab1
2284 
2285 See Note [Interaction of exprIsCheap and lone variables] in CoreUnfold
2286 
2287 This buglet meant that a nullary definition with an INLINE pragma
2288 counter-intuitively didn't get inlined at all.  Roman identified
2289 the bug.
2290]
2291[Matching cases in SpecConstr and Rules
2292simonpj@microsoft.com**20100505200543
2293 Ignore-this: f5c28c780fbf8badce84c6fdc9aa1779
2294 
2295 This patch has zero effect.  It includes comments,
2296 a bit of refactoring, and a tiny bit of commment-out
2297 code go implement the "matching cases" idea below.
2298 
2299 In the end I've left it disabled because while I think
2300 it does no harm I don't think it'll do any good either.
2301 But I didn't want to lose the idea totally. There's
2302 a thread called "Storable and constant memory" on
2303 the libraries@haskell.org list (Apr 2010) about it.
2304 
2305 Note [Matching cases]
2306 ~~~~~~~~~~~~~~~~~~~~~
2307 {- NOTE: This idea is currently disabled.  It really only works if
2308          the primops involved are OkForSpeculation, and, since
2309         they have side effects readIntOfAddr and touch are not.
2310         Maybe we'll get back to this later .  -}
2311   
2312 Consider
2313    f (case readIntOffAddr# p# i# realWorld# of { (# s#, n# #) ->
2314       case touch# fp s# of { _ ->
2315       I# n# } } )
2316 This happened in a tight loop generated by stream fusion that
2317 Roman encountered.  We'd like to treat this just like the let
2318 case, because the primops concerned are ok-for-speculation.
2319 That is, we'd like to behave as if it had been
2320    case readIntOffAddr# p# i# realWorld# of { (# s#, n# #) ->
2321    case touch# fp s# of { _ ->
2322    f (I# n# } } )
2323]
2324[Comments only
2325simonpj@microsoft.com**20100504163629
2326 Ignore-this: 3be12df04714aa820bce706b5dc8a9cb
2327]
2328[Comments only
2329simonpj@microsoft.com**20100504163529
2330 Ignore-this: 791e2fd39c7d880ce1dc80ebdf3a5398
2331]
2332[Comments only
2333simonpj@microsoft.com**20100504163457
2334 Ignore-this: f19e9ffeb3d65770b1595bca5f97a59d
2335]
2336[Comments only (about type families)
2337simonpj@microsoft.com**20100417145032
2338 Ignore-this: dd39425ef2155d52dbf55a4d5fd97cb8
2339]
2340[Fix hp2ps when the .hp file has large string literals
2341Ian Lynagh <igloo@earth.li>**20100505191921]
2342[In build system, call package-config after including package data
2343Ian Lynagh <igloo@earth.li>**20100504225035
2344 Otherwise the $1_$2_HC_OPTS variable gets clobbered.
2345]
2346[runghc: flush stdout/stderr on an exception (#3890)
2347Simon Marlow <marlowsd@gmail.com>**20100505133848
2348 Ignore-this: 224c1898cec64cb1c94e0d7033e7590e
2349]
2350[Remove the Unicode alternative for ".." (#3894)
2351Simon Marlow <marlowsd@gmail.com>**20100505121202
2352 Ignore-this: 2452cd67281667106f9169747b6d784f
2353]
2354[tidyup; no functional changes
2355Simon Marlow <marlowsd@gmail.com>**20100505115015
2356 Ignore-this: d0787e5cdeef1dee628682fa0a46019
2357]
2358[Make the running_finalizers flag task-local
2359Simon Marlow <marlowsd@gmail.com>**20100505114947
2360 Ignore-this: 345925d00f1dca203941b3c5d84c90e1
2361 Fixes a bug reported by Lennart Augustsson, whereby we could get an
2362 incorrect error from the RTS about re-entry from a finalizer,
2363]
2364[add a MAYBE_GC() in killThread#, fixes throwto003(threaded2) looping
2365Simon Marlow <marlowsd@gmail.com>**20100505114746
2366 Ignore-this: efea04991d6feed04683a42232fc85da
2367]
2368[Allow filepath-1.2.*
2369Simon Marlow <marlowsd@gmail.com>**20100505101139
2370 Ignore-this: 1b5580cd9cd041ec48f40cd37603326a
2371]
2372[BlockedOnMsgThrowTo is possible in resurrectThreads (#4030)
2373Simon Marlow <marlowsd@gmail.com>**20100505094534
2374 Ignore-this: ac24a22f95ffeaf480187a1620fdddb2
2375]
2376[Don't raise a throwTo when the target is masking and BlockedOnBlackHole
2377Simon Marlow <marlowsd@gmail.com>**20100505094506
2378 Ignore-this: 302616931f61667030d77ddfbb02374e
2379]
2380[Fix build with GHC 6.10
2381Ian Lynagh <igloo@earth.li>**20100504180302
2382 In GHC 6.10, intersectionWith is (a -> b -> a) instead of (a -> b -> c),
2383 so we need to jump through some hoops to get the more general type.
2384]
2385[The libffi patches are no longer needed
2386Ian Lynagh <igloo@earth.li>**20100504171603]
2387[Use the in-tree windres; fixes trac #4032
2388Ian Lynagh <igloo@earth.li>**20100504170941]
2389[Print unfoldings on lambda-bound variables
2390Simon PJ <simonpj@microsoft.com>**20100503181822
2391 Ignore-this: 2fd5a7502cc6273d96258e0914f0f8cd
2392 
2393 ...in the unusual case where they have one;
2394 see Note [Case binders and join points] in Simplify.lhs
2395]
2396[Replace FiniteMap and UniqFM with counterparts from containers.
2397Milan Straka <fox@ucw.cz>**20100503171315
2398 Ignore-this: a021972239163dbf728284b19928cebb
2399 
2400 The original interfaces are kept. There is small performance improvement:
2401 - when compiling for five nofib, we get following speedups:
2402     Average                -----           -2.5%
2403     Average                -----           -0.6%
2404     Average                -----           -0.5%
2405     Average                -----           -5.5%
2406     Average                -----          -10.3%
2407 - when compiling HPC ten times, we get:
2408     switches                          oldmaps   newmaps
2409     -O -fasm                          117.402s  116.081s (98.87%)
2410     -O -fasm -fregs-graph             119.993s  118.735s (98.95%)
2411     -O -fasm -fregs-iterative         120.191s  118.607s (98.68%)
2412]
2413[Make the demand analyser take account of lambda-bound unfoldings
2414Simon PJ <simonpj@microsoft.com>**20100503151630
2415 Ignore-this: 2ee8e27d4df2debfc79e6b8a17c32bc1
2416 
2417 This is a long-standing lurking bug. See Note [Lamba-bound unfoldings]
2418 in DmdAnal.
2419 
2420 I'm still not really happy with this lambda-bound-unfolding stuff.
2421]
2422[Fix dynamic libs on OS X, and enable them by default
2423Ian Lynagh <igloo@earth.li>**20100503150302]
2424[Switch back to using bytestring from the darcs repo; partially fixes #3855
2425Ian Lynagh <igloo@earth.li>**20100502113458]
2426[Fix some cpp warnings when building on FreeBSD; patch from Gabor PALI
2427Ian Lynagh <igloo@earth.li>**20100428150700]
2428[Fix "make 2"
2429Ian Lynagh <igloo@earth.li>**20100427162212
2430 The new Makefile logic was enabling the stage 1 rules when stage=2,
2431 so "make 2" was rebuilding stage 1.
2432]
2433[Inplace programs depend on their shell wrappers
2434Ian Lynagh <igloo@earth.li>**20100427160038]
2435[--make is now the default (#3515), and -fno-code works with --make (#3783)
2436Simon Marlow <marlowsd@gmail.com>**20100427122851
2437 Ignore-this: 33330474fa4703f32bf9997462b4bf3c
2438 If the command line contains any Haskell source files, then we behave
2439 as if --make had been given.
2440 
2441 The meaning of the -c flag has changed (back): -c now selects one-shot
2442 compilation, but stops before linking.  However, to retain backwards
2443 compatibility, -c is still allowed with --make, and means the same as
2444 --make -no-link.  The -no-link flag has been un-deprecated.
2445 
2446 -fno-code is now allowed with --make (#3783); the fact that it was
2447 disabled before was largely accidental, it seems.  We also had some
2448 regressions in this area: it seems that -fno-code was causing a .hc
2449 file to be emitted in certain cases.  I've tidied up the code, there
2450 was no need for -fno-code to be a "mode" flag, as far as I can tell.
2451 
2452 -fno-code does not emit interface files, nor does it do recompilation
2453 checking, as suggested in #3783.  This would make Haddock emit
2454 interface files, for example, and I'm fairly sure we don't want to do
2455 that.  Compiling with -fno-code is pretty quick anyway, perhaps we can
2456 get away without recompilation checking.
2457]
2458[remove duplicate docs for -e in --help output (#4010)
2459Simon Marlow <marlowsd@gmail.com>**20100426140642
2460 Ignore-this: 187ff893ba8ffa0ec127867a7590e38d
2461]
2462[workaround for #4003, fixes HEAD build with 6.12.2
2463Simon Marlow <marlowsd@gmail.com>**20100426103428
2464 Ignore-this: c4bc445dc8052d4e6efef3f1daf63562
2465]
2466[Make sure all the clean rules are always included
2467Ian Lynagh <igloo@earth.li>**20100424181823
2468 In particular, this fixes a problem where stage3 bits weren't being cleaned
2469]
2470[Correct the name of the amd64/FreeBSD platform in PlatformSupportsSharedLibs
2471Ian Lynagh <igloo@earth.li>**20100424132830
2472 We weren't getting sharedlibs on amd64/FreeBSD because of this
2473]
2474[Include DPH docs in bindists
2475Ian Lynagh <igloo@earth.li>**20100424123101]
2476[reinstate eta-expansion during SimplGently, to fix inlining of sequence_
2477Simon Marlow <marlowsd@gmail.com>**20100423124853
2478 Ignore-this: 4fa0fd5bafe0d6b58fc81076f50d5f8d
2479]
2480[fix 64-bit value for W_SHIFT, which thankfully appears to be not used
2481Simon Marlow <marlowsd@gmail.com>**20100422213605
2482 Ignore-this: 525c062d2456c224ec8d0e083edd3b55
2483]
2484[Add missing constant folding and optimisation for unsigned division
2485Simon Marlow <marlowsd@gmail.com>**20100422213443
2486 Ignore-this: fb10d1cda0852fab0cbcb47247498fb3
2487 Noticed by Denys Rtveliashvili <rtvd@mac.com>, see #4004
2488]
2489[Fix the GHC API link in the main doc index.html
2490Ian Lynagh <igloo@earth.li>**20100422213226]
2491[Give the right exit code in darcs-all
2492Ian Lynagh <igloo@earth.li>**20100421171339
2493 Our END block was calling system, which alters $?. So now we save and
2494 restore it.
2495]
2496[Use StgWord64 instead of ullong
2497Ian Lynagh <igloo@earth.li>**20100421162336
2498 This patch also fixes ullong_format_string (renamed to showStgWord64)
2499 so that it works with values outside the 32bit range (trac #3979), and
2500 simplifies the without-commas case.
2501]
2502[Implement try10Times in Makefile
2503Ian Lynagh <igloo@earth.li>**20100420165909
2504 Avoid using seq, as FreeBSD has jot instead.
2505]
2506[Fix crash in non-threaded RTS on Windows
2507Simon Marlow <marlowsd@gmail.com>**20100420122125
2508 Ignore-this: 28b0255a914a8955dce02d89a7dfaca
2509 The tso->block_info field is now overwritten by pushOnRunQueue(), but
2510 stg_block_async_info was assuming that it still held a pointer to the
2511 StgAsyncIOResult.  We must therefore save this value somewhere safe
2512 before putting the TSO on the run queue.
2513]
2514[Expand the scope of the event_buf_mutex to cover io_manager_event
2515Simon Marlow <marlowsd@gmail.com>**20100420122026
2516 Ignore-this: 185a6d84f7d4a35997f10803f6dacef1
2517 I once saw a failure that I think was due to a race on
2518 io_manager_event, this should fix it.
2519]
2520[Flags -auto and -auto-all operate only on functions not marked INLINE.
2521Milan Straka <fox@ucw.cz>**20100331191050
2522 Ignore-this: 3b63580cfcb3c33d62ad697c36d94d05
2523]
2524[Spelling correction for LANGUAGE pragmas
2525Max Bolingbroke <batterseapower@hotmail.com>**20100413192825
2526 Ignore-this: 311b51ba8d43f6c7fd32f48db9a88dee
2527]
2528[Update the user guide so it talks about the newer "do rec" notation everywhere
2529Ian Lynagh <igloo@earth.li>**20100416205416
2530 Some of the problems highlighted in trac #3968.
2531]
2532[Fix typo
2533Ian Lynagh <igloo@earth.li>**20100416205412]
2534[Fix Trac #3950: unifying types of different kinds
2535simonpj@microsoft.com**20100412151845
2536 Ignore-this: d145b9de5ced136ef2c39f3ea4a04f4a
2537 
2538 I was assuming that the unifer only unified types of the
2539 same kind, but now we can "defer" unsolved constraints that
2540 invariant no longer holds.  Or at least is's more complicated
2541 to ensure. 
2542 
2543 This patch takes the path of not assuming the invariant, which
2544 is simpler and more robust.  See
2545 Note [Mismatched type lists and application decomposition]
2546]
2547[Fix Trac #3943: incorrect unused-variable warning
2548simonpj@microsoft.com**20100412151630
2549 Ignore-this: 52459f2b8b02c3cb120abe674dc9a060
2550 
2551 In fixing this I did the usual little bit of refactoring
2552]
2553[Convert boot and boot-pkgs to perl
2554Ian Lynagh <igloo@earth.li>**20100415143919
2555 This stops us having to worry about sh/sed/... portability.
2556]
2557[Use $(MAKE), not make, when recursively calling make
2558Ian Lynagh <igloo@earth.li>**20100415121453]
2559[Remove the ghc_ge_609 makefile variables
2560Ian Lynagh <igloo@earth.li>**20100412235658
2561 They are now guaranteed to be YES
2562]
2563[Increase the minimum version number required to 6.10 in configure.ac
2564Ian Lynagh <igloo@earth.li>**20100412235313]
2565[The bootstrapping compiler is now required to be > 609
2566Ian Lynagh <igloo@earth.li>**20100409161046]
2567[Handle IND_STATIC in isRetainer
2568Ian Lynagh <igloo@earth.li>**20100409104207
2569 IND_STATIC used to be an error, but at the moment it can happen
2570 as isAlive doesn't look through IND_STATIC as it ignores static
2571 closures. See trac #3956 for a program that hit this error.
2572]
2573[Add Data and Typeable instances to HsSyn
2574David Waern <david.waern@gmail.com>**20100330011020
2575 Ignore-this: c3f2717207b15539fea267c36b686e6a
2576 
2577 The instances (and deriving declarations) have been taken from the ghc-syb
2578 package.
2579]
2580[Fix for derefing ThreadRelocated TSOs in MVar operations
2581Simon Marlow <marlowsd@gmail.com>**20100407092824
2582 Ignore-this: 94dd7c68a6094eda667e2375921a8b78
2583]
2584[sanity check fix
2585Simon Marlow <marlowsd@gmail.com>**20100407092746
2586 Ignore-this: 9c18cd5f5393e5049015ca52e62a1269
2587]
2588[get the reg liveness right in the putMVar# heap check
2589Simon Marlow <marlowsd@gmail.com>**20100407092724
2590 Ignore-this: b1ba07a59ecfae00e9a1f8391741abc
2591]
2592[initialise the headers of MSG_BLACKHOLE objects properly
2593Simon Marlow <marlowsd@gmail.com>**20100407081712
2594 Ignore-this: 183dcd0ca6a395d08db2be12b02bdd79
2595]
2596[initialise the headers of MVAR_TSO_QUEUE objects properly
2597Simon Marlow <marlowsd@gmail.com>**20100407081514
2598 Ignore-this: 4b4a2f30cf2fb69ca4128c41744687bb
2599]
2600[undo debugging code
2601Simon Marlow <marlowsd@gmail.com>**20100406142740
2602 Ignore-this: 323c2248f817b6717c19180482fc4b00
2603]
2604[putMVar#: fix reg liveness in the heap check
2605Simon Marlow <marlowsd@gmail.com>**20100406135832
2606 Ignore-this: cddd2c7807ac7612c9b2c4c0d384d284
2607]
2608[account for the new BLACKHOLEs in the GHCi debugger
2609Simon Marlow <marlowsd@gmail.com>**20100406133406
2610 Ignore-this: 4d4aeb4bbada3f50dc1fb0123f565e8f
2611]
2612[don't forget to deRefTSO() in tryWakeupThread()
2613Simon Marlow <marlowsd@gmail.com>**20100406130411
2614 Ignore-this: 171d57c4f8653835dec0b69f9be9881c
2615]
2616[Fix bug in popRunQueue
2617Simon Marlow <marlowsd@gmail.com>**20100406091453
2618 Ignore-this: 9d3cec8f18f5c5cbd51751797386eb6f
2619]
2620[fix bug in migrateThread()
2621Simon Marlow <marlowsd@gmail.com>**20100401105840
2622 Ignore-this: 299bcf0d1ea0f8865f3e845eb93d2ad3
2623]
2624[Remove the IND_OLDGEN and IND_OLDGEN_PERM closure types
2625Simon Marlow <marlowsd@gmail.com>**20100401093519
2626 Ignore-this: 95f2480c8a45139835eaf5610217780b
2627 These are no longer used: once upon a time they used to have different
2628 layout from IND and IND_PERM respectively, but that is no longer the
2629 case since we changed the remembered set to be an array of addresses
2630 instead of a linked list of closures.
2631]
2632[Change the representation of the MVar blocked queue
2633Simon Marlow <marlowsd@gmail.com>**20100401091605
2634 Ignore-this: 20a35bfabacef2674df362905d7834fa
2635 
2636 The list of threads blocked on an MVar is now represented as a list of
2637 separately allocated objects rather than being linked through the TSOs
2638 themselves.  This lets us remove a TSO from the list in O(1) time
2639 rather than O(n) time, by marking the list object.  Removing this
2640 linear component fixes some pathalogical performance cases where many
2641 threads were blocked on an MVar and became unreachable simultaneously
2642 (nofib/smp/threads007), or when sending an asynchronous exception to a
2643 TSO in a long list of thread blocked on an MVar.
2644 
2645 MVar performance has actually improved by a few percent as a result of
2646 this change, slightly to my surprise.
2647 
2648 This is the final cleanup in the sequence, which let me remove the old
2649 way of waking up threads (unblockOne(), MSG_WAKEUP) in favour of the
2650 new way (tryWakeupThread and MSG_TRY_WAKEUP, which is idempotent).  It
2651 is now the case that only the Capability that owns a TSO may modify
2652 its state (well, almost), and this simplifies various things.  More of
2653 the RTS is based on message-passing between Capabilities now.
2654]
2655[eliminate some duplication with a bit of CPP
2656Simon Marlow <marlowsd@gmail.com>**20100330154355
2657 Ignore-this: 838f7d341f096ca14c86ab9c81193e36
2658]
2659[Make ioManagerDie() idempotent
2660Simon Marlow <marlowsd@gmail.com>**20100401100705
2661 Ignore-this: a5996b43cdb2e2d72e6e971d7ea925fb
2662 Avoids screeds of "event buffer overflowed; event dropped" in
2663 conc059(threaded1).
2664]
2665[Move a thread to the front of the run queue when another thread blocks on it
2666Simon Marlow <marlowsd@gmail.com>**20100329144521
2667 Ignore-this: c518ff0d41154680edc811d891826a29
2668 This fixes #3838, and was made possible by the new BLACKHOLE
2669 infrastructure.  To allow reording of the run queue I had to make it
2670 doubly-linked, which entails some extra trickiness with regard to
2671 GC write barriers and suchlike.
2672]
2673[remove non-existent MUT_CONS symbols
2674Simon Marlow <marlowsd@gmail.com>**20100330152600
2675 Ignore-this: 885628257a9d03f2ece2a754d993014a
2676]
2677[change throwTo to use tryWakeupThread rather than unblockOne
2678Simon Marlow <marlowsd@gmail.com>**20100329144613
2679 Ignore-this: 10ad4965e6c940db71253f1c72218bbb
2680]
2681[tiny GC optimisation
2682Simon Marlow <marlowsd@gmail.com>**20100329144551
2683 Ignore-this: 9e095b9b73fff0aae726f9937846ba92
2684]
2685[New implementation of BLACKHOLEs
2686Simon Marlow <marlowsd@gmail.com>**20100329144456
2687 Ignore-this: 96cd26793b4e6ab9ddd0d59aae5c2f1d
2688 
2689 This replaces the global blackhole_queue with a clever scheme that
2690 enables us to queue up blocked threads on the closure that they are
2691 blocked on, while still avoiding atomic instructions in the common
2692 case.
2693 
2694 Advantages:
2695 
2696  - gets rid of a locked global data structure and some tricky GC code
2697    (replacing it with some per-thread data structures and different
2698    tricky GC code :)
2699 
2700  - wakeups are more prompt: parallel/concurrent performance should
2701    benefit.  I haven't seen anything dramatic in the parallel
2702    benchmarks so far, but a couple of threading benchmarks do improve
2703    a bit.
2704 
2705  - waking up a thread blocked on a blackhole is now O(1) (e.g. if
2706    it is the target of throwTo).
2707 
2708  - less sharing and better separation of Capabilities: communication
2709    is done with messages, the data structures are strictly owned by a
2710    Capability and cannot be modified except by sending messages.
2711 
2712  - this change will utlimately enable us to do more intelligent
2713    scheduling when threads block on each other.  This is what started
2714    off the whole thing, but it isn't done yet (#3838).
2715 
2716 I'll be documenting all this on the wiki in due course.
2717 
2718]
2719[Fix warnings (allow pushOnRunQueue() to not be inlined)
2720Simon Marlow <marlowsd@gmail.com>**20100401114559
2721 Ignore-this: f40bfbfad70a5165a946d11371605b7d
2722]
2723[remove out of date comment
2724Simon Marlow <marlowsd@gmail.com>**20100401105853
2725 Ignore-this: 26af88dd418ee0bcda7223b3b7e4e8d2
2726]
2727[tidy up spacing in stderr traces
2728Simon Marlow <marlowsd@gmail.com>**20100326163122
2729 Ignore-this: 16558b0433a274be217d4bf39aa4946
2730]
2731[Fix an assertion that was not safe when running in parallel
2732Simon Marlow <marlowsd@gmail.com>**20100325143656
2733 Ignore-this: cad08fb8900eb3a475547af0189fcc47
2734]
2735[Never jump directly to a thunk's entry code, even if it is single-entry
2736Simon Marlow <marlowsd@gmail.com>**20100325114847
2737 Ignore-this: 938da172c06a97762ef605c8fccfedf1
2738 I don't think this fixes any bugs as we don't have single-entry thunks
2739 at the moment, but it could cause problems for parallel execution if
2740 we ever did re-introduce update avoidance.
2741]
2742[Rename forgotten -dverbose-simpl to -dverbose-core2core in the docs.
2743Milan Straka <fox@ucw.cz>**20100331153626
2744 Ignore-this: 2da58477fb96e1cfb80f37dddd7c422c
2745]
2746[Add -pa and -V to the documentation of time profiling options.
2747Milan Straka <fox@ucw.cz>**20100329191121
2748 Ignore-this: be74d216481ec5a19e5f40f85e6e3d65
2749]
2750[Keep gcc 4.5 happy
2751Simon Marlow <marlowsd@gmail.com>**20100330120425
2752 Ignore-this: 7811878cc2bd1ce9cfbb5bf102fe3454
2753]
2754[Fix warning compiling Linker.c for PPC Mac
2755naur@post11.tele.dk**20100403182355
2756 Ignore-this: e2d2448770c9714ce17dd6cf3e297063
2757 The warning message eliminated is:
2758 > rts/Linker.c:4756:0:
2759 >      warning: nested extern declaration of 'symbolsWithoutUnderscore'
2760]
2761[Fix error compiling AsmCodeGen.lhs for PPC Mac (mkRtsCodeLabel)
2762naur@post11.tele.dk**20100403181656
2763 Ignore-this: deb7524ea7852a15a2ac0849c8c82f74
2764 The error messages eliminated are:
2765 > compiler/nativeGen/AsmCodeGen.lhs:875:31:
2766 >     Not in scope: `mkRtsCodeLabel'
2767 > compiler/nativeGen/AsmCodeGen.lhs:879:31:
2768 >     Not in scope: `mkRtsCodeLabel'
2769 > compiler/nativeGen/AsmCodeGen.lhs:883:31:
2770 >     Not in scope: `mkRtsCodeLabel'
2771]
2772[Fix error compiling AsmCodeGen.lhs for PPC Mac (DestBlockId)
2773naur@post11.tele.dk**20100403180643
2774 Ignore-this: 71e833e94ed8371b2ffabc2cf80bf585
2775 The error message eliminated is:
2776 > compiler/nativeGen/AsmCodeGen.lhs:637:16:
2777 >     Not in scope: data constructor `DestBlockId'
2778]
2779[Fix boot-pkgs's sed usage to work with Solaris's sed
2780Ian Lynagh <igloo@earth.li>**20100401153441]
2781[Pass "-i org.haskell.GHC" to packagemaker when building the OS X installer
2782Ian Lynagh <igloo@earth.li>**20100331144707
2783 This seems to fix this failure:
2784 [...]
2785 ** BUILD SUCCEEDED **
2786 rm -f -f GHC-system.pmdoc/*-contents.xml
2787 /Developer/usr/bin/packagemaker -v --doc GHC-system.pmdoc\
2788              -o /Users/ian/to_release/ghc-6.12.1.20100330/GHC-6.12.1.20100330-i386.pkg
2789 2010-03-31 15:08:15.695 packagemaker[13909:807] Setting to : 0 (null)
2790 2010-03-31 15:08:15.709 packagemaker[13909:807] Setting to : 0 org.haskell.glasgowHaskellCompiler.ghc.pkg
2791 2010-03-31 15:08:15.739 packagemaker[13909:807] relocate: (null) 0
2792 2010-03-31 15:08:15.740 packagemaker[13909:807] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSXMLDocument initWithXMLString:options:error:]: nil argument'
2793 2010-03-31 15:08:15.741 packagemaker[13909:807] Stack: (
2794     2511962091,
2795     2447007291,
2796     2511961547,
2797     2511961610,
2798     2432803204,
2799     453371,
2800     447720,
2801     436209,
2802     435510,
2803     9986,
2804     9918
2805 )
2806 make[1]: *** [framework-pkg] Trace/BPT trap
2807 make: *** [framework-pkg] Error 2
2808]
2809[Use machdepCCOpts when compiling the file to toggle -(no-)rtsopts
2810Ian Lynagh <igloo@earth.li>**20100331161302
2811 Should fix toggling on OS X "Snow Leopard". Diagnosed by Roman Leshchinskiy.
2812]
2813[Avoid a non-portable use of tar reported by Roman Leshchinskiy
2814Ian Lynagh <igloo@earth.li>**20100330145802]
2815[Don't install EXTRA_PACKAGES by default
2816Simon Marlow <marlowsd@gmail.com>**20100330142714
2817 Ignore-this: d4cc8f87a6de8d9d1d6dc9b77130b3
2818]
2819[fix a non-portable printf format
2820Simon Marlow <marlowsd@gmail.com>**20100330134437
2821 Ignore-this: d41c23c54ec29654cb2049de1e588570
2822]
2823[avoid single quote in #error
2824Simon Marlow <marlowsd@gmail.com>**20100330120346
2825 Ignore-this: 663f39e7a27fead2f648fbf22d345bb4
2826]
2827[use FMT_Word64 instead of locally-defined version
2828Simon Marlow <marlowsd@gmail.com>**20100330114650
2829 Ignore-this: 82697b8095dffb3a8e196c687006ece0
2830]
2831[remove old/unused DotnetSupport and GhcLibsWithUnix
2832Simon Marlow <marlowsd@gmail.com>**20100330123732
2833 Ignore-this: c68814868b3671abdc369105bbeafe6c
2834]
2835[fix return type cast in f.i.wrapper when using libffi (#3516)
2836Simon Marlow <marlowsd@gmail.com>**20100329154220
2837 Ignore-this: f898eb8c9ae2ca2009e539735b92c438
2838 
2839 Original fix submitted by
2840   Sergei Trofimovich <slyfox@community.haskell.org>
2841 modified by me:
2842  - exclude 64-bit types
2843  - compare uniques, not strings
2844  - #include "ffi.h" is conditional
2845]
2846[libffi: install 'ffitarget.h' header as sole 'ffi.h' is unusable
2847Simon Marlow <marlowsd@gmail.com>**20100329135734
2848 Ignore-this: f9b555ea289d8df1aa22cb6faa219a39
2849 Submitted by: Sergei Trofimovich <slyfox@community.haskell.org>
2850 Re-recorded against HEAD.
2851]
2852[avoid a fork deadlock (see comments)
2853Simon Marlow <marlowsd@gmail.com>**20100329132329
2854 Ignore-this: 3377f88b83bb3b21e42d7fc5f0d866f
2855]
2856[tidy up the end of the all_tasks list after forking
2857Simon Marlow <marlowsd@gmail.com>**20100329132253
2858 Ignore-this: 819d679875be5f344e816210274d1c29
2859]
2860[Add a 'setKeepCAFs' external function (#3900)
2861Simon Marlow <marlowsd@gmail.com>**20100329110036
2862 Ignore-this: ec532a18cad4259a09847b0b9ae2e1d2
2863]
2864[Explicitly check whether ar supports the @file syntax
2865Ian Lynagh <igloo@earth.li>**20100329123325
2866 rather than assuming that all GNU ar's do.
2867 Apparently OpenBSD's older version doesn't.
2868]
2869[Fix the format specifier for Int64/Word64 on Windows
2870Ian Lynagh <igloo@earth.li>**20100327182126
2871 mingw doesn't understand %llu/%lld - it treats them as 32-bit rather
2872 than 64-bit. We use %I64u/%I64d instead.
2873]
2874[Fix the ghci startmenu item
2875Ian Lynagh <igloo@earth.li>**20100326235934
2876 I'm not sure what changed, but it now doesn't work for me without
2877 the "Start in" field being set.
2878]
2879[Fix paths to docs in "Start Menu" entries in Windows installer; fixes #3847
2880Ian Lynagh <igloo@earth.li>**20100326155917]
2881[Add a licence file for the Windows installer to use
2882Ian Lynagh <igloo@earth.li>**20100326155130]
2883[Add gcc-g++ to the inplace mingw installation; fixes #3893
2884Ian Lynagh <igloo@earth.li>**20100326154714]
2885[Add the licence file to the Windows installer. Fixes #3934
2886Ian Lynagh <igloo@earth.li>**20100326152449]
2887[Quote the paths to alex and happy in configure
2888Ian Lynagh <igloo@earth.li>**20100325143449
2889 Ignore-this: d6d6e1a250f88985bbeea760e63a79db
2890]
2891[Use </> rather than ++ "/"
2892Ian Lynagh <igloo@earth.li>**20100325133237
2893 This stops us generating paths like
2894     c:\foo\/ghc460_0/ghc460_0.o
2895 which windres doesn't understand.
2896]
2897[Append $(exeext) to utils/ghc-pkg_dist_PROG
2898Ian Lynagh <igloo@earth.li>**20100324233447
2899 Fixes bindist creation
2900]
2901[A sanity check
2902Simon Marlow <marlowsd@gmail.com>**20100325110500
2903 Ignore-this: 3b3b76d898c822456857e506b7531e65
2904]
2905[do_checks: do not set HpAlloc if the stack check fails
2906Simon Marlow <marlowsd@gmail.com>**20100325110328
2907 Ignore-this: 899ac8c29ca975d03952dbf4608d758
2908 
2909 This fixes a very rare heap corruption bug, whereby
2910 
2911  - a context switch is requested, which sets HpLim to zero
2912    (contextSwitchCapability(), called by the timer signal or
2913    another Capability).
2914 
2915  - simultaneously a stack check fails, in a code fragment that has
2916    both a stack and a heap check.
2917 
2918 The RTS then assumes that a heap-check failure has occurred and
2919 subtracts HpAlloc from Hp, although in fact it was a stack-check
2920 failure and retreating Hp will overwrite valid heap objects.  The bug
2921 is that HpAlloc should only be set when Hp has been incremented by the
2922 heap check.  See comments in rts/HeapStackCheck.cmm for more details.
2923 
2924 This bug is probably incredibly rare in practice, but I happened to be
2925 working on a test that triggers it reliably:
2926 concurrent/should_run/throwto001, compiled with -O -threaded, args 30
2927 300 +RTS -N2, run repeatedly in a loop.
2928]
2929[comments and formatting only
2930Simon Marlow <marlowsd@gmail.com>**20100325104617
2931 Ignore-this: c0a211e15b5953bb4a84771bcddd1d06
2932]
2933[Change how perl scripts get installed; partially fixes #3863
2934Ian Lynagh <igloo@earth.li>**20100324171422
2935 We now regenerate them when installing, which means the path for perl
2936 doesn't get baked in
2937]
2938[Pass the location of gcc in the ghc wrapper script; partially fixes #3863
2939Ian Lynagh <igloo@earth.li>**20100324171408
2940 This means we don't rely on baking a path to gcc into the executable
2941]
2942[Quote the ar path in configure
2943Ian Lynagh <igloo@earth.li>**20100324162043]
2944[Remove unused cUSER_WAY_NAMES cUSER_WAY_OPTS
2945Ian Lynagh <igloo@earth.li>**20100324145048]
2946[Remove unused cCONTEXT_DIFF
2947Ian Lynagh <igloo@earth.li>**20100324145013]
2948[Remove unused cEnableWin32DLLs
2949Ian Lynagh <igloo@earth.li>**20100324144841]
2950[Remove unused cGHC_CP
2951Ian Lynagh <igloo@earth.li>**20100324144656]
2952[Fix the build for non-GNU-ar
2953Ian Lynagh <igloo@earth.li>**20100324132907]
2954[Tweak the Makefile code for making .a libs; fixes trac #3642
2955Ian Lynagh <igloo@earth.li>**20100323221325
2956 The main change is that, rather than using "xargs ar" we now put
2957 all the filenames into a file, and do "ar @file". This means that
2958 ar adds all the files at once, which works around a problem where
2959 files with the same basename in a later invocation were overwriting
2960 the existing file in the .a archive.
2961]
2962[Enable shared libraries on Windows; fixes trac #3879
2963Ian Lynagh <igloo@earth.li>**20100320231414
2964 Ignore-this: c93b35ec5b7a7fa6ddb286d17a616216
2965]
2966[Add the external core PDF to the new build system
2967Ian Lynagh <igloo@earth.li>**20100321161909]
2968[Allow specifying $threads directly when validating
2969Ian Lynagh <igloo@earth.li>**20100321112835]
2970[Remove LazyUniqFM; fixes trac #3880
2971Ian Lynagh <igloo@earth.li>**20100320213837]
2972[UNDO: slight improvement to scavenging ...
2973Simon Marlow <marlowsd@gmail.com>**20100319153413
2974 Ignore-this: f0ab581c07361f7b57eae02dd6ec893c
2975 
2976 Accidnetally pushed this patch which, while it validates, isn't
2977 correct.
2978 
2979 rolling back:
2980 
2981 Fri Mar 19 11:21:27 GMT 2010  Simon Marlow <marlowsd@gmail.com>
2982   * slight improvement to scavenging of update frames when a collision has occurred
2983 
2984     M ./rts/sm/Scav.c -19 +15
2985]
2986[slight improvement to scavenging of update frames when a collision has occurred
2987Simon Marlow <marlowsd@gmail.com>**20100319112127
2988 Ignore-this: 6de2bb9614978975f17764a0f259d9bf
2989]
2990[Don't install the utf8-string package
2991Ian Lynagh <igloo@earth.li>**20100317212709]
2992[Don't use -Bsymbolic when linking the RTS
2993Ian Lynagh <igloo@earth.li>**20100316233357
2994 This makes the RTS hooks work when doing dynamic linking
2995]
2996[Fix Trac #3920: Template Haskell kinds
2997simonpj@microsoft.com**20100317123519
2998 Ignore-this: 426cac7920446e04f3cc30bd1d9f76e2
2999 
3000 Fix two places where we were doing foldl instead of foldr
3001 after decomposing a Kind.  Strange that the same bug appears
3002 in two quite different places!
3003]
3004[copy_tag_nolock(): fix write ordering and add a write_barrier()
3005Simon Marlow <marlowsd@gmail.com>**20100316143103
3006 Ignore-this: ab7ca42904f59a0381ca24f3eb38d314
3007 
3008 Fixes a rare crash in the parallel GC.
3009 
3010 If we copy a closure non-atomically during GC, as we do for all
3011 immutable values, then before writing the forwarding pointer we better
3012 make sure that the closure itself is visible to other threads that
3013 might follow the forwarding pointer.  I imagine this doesn't happen
3014 very often, but I just found one case of it: in scavenge_stack, the
3015 RET_FUN case, after evacuating ret_fun->fun we then follow it and look
3016 up the info pointer.
3017]
3018[Add sliceP mapping to vectoriser builtins
3019benl@ouroborus.net**20100316060517
3020 Ignore-this: 54c3cafff584006b6fbfd98124330aa3
3021]
3022[Comments only
3023benl@ouroborus.net**20100311064518
3024 Ignore-this: d7dc718cc437d62aa5b1b673059a9b22
3025]
3026[TAG 2010-03-16
3027Ian Lynagh <igloo@earth.li>**20100316005137
3028 Ignore-this: 234e3bc29e2f26cc59d7b03d780cc352
3029]
3030Patch bundle hash:
303147eae2e8876492b9f8d6422cd9e20a3df05229db