Ticket #4249: completion.patch

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