Ticket #3035: traceOnlyStops.dpatch

File traceOnlyStops.dpatch, 35.9 KB (added by phercek, 6 years ago)

the patch fixing this ticket

1Thu Feb 19 00:34:27 CET 2009  Peter Hercek <[email protected]>
2  * step(local|module) should not extend trace history with records outside (local|module) scope
4New patches:
6[step(local|module) should not extend trace history with records outside (local|module) scope
7Peter Hercek <[email protected]>**20090218233427
8 Ignore-this: 748db1cf710e6d4c97a22ab5ce9964a
9] {
10hunk ./compiler/ghci/GhciMonad.hs 251
11                                         return GHC.RunFailed) $ do
12           GHC.runStmt expr step
14-resume :: GHC.SingleStep -> GHCi GHC.RunResult
15-resume step = GHC.resume step
16+resume :: (SrcSpan->Bool) -> GHC.SingleStep -> GHCi GHC.RunResult
17+resume canLogSpan step = GHC.resume canLogSpan step
19 -- --------------------------------------------------------------------------
20 -- timing & statistics
21hunk ./compiler/ghci/InteractiveUI.hs 749
22                st <- getGHCiState
23                enqueueCommands [stop st]
24                return ()
25-         | otherwise -> resume GHC.SingleStep >>=
26+         | otherwise -> resume step_here GHC.SingleStep >>=
27                         afterRunStmt step_here >> return ()
28      _ -> return ()
30hunk ./compiler/ghci/InteractiveUI.hs 1963
31 -- doContinue :: SingleStep -> GHCi ()
32 doContinue :: (SrcSpan -> Bool) -> SingleStep -> GHCi ()
33 doContinue pred step = do
34-  runResult <- resume step
35+  runResult <- resume pred step
36   afterRunStmt pred runResult
37   return ()
39hunk ./compiler/main/InteractiveEval.hs 435
40 noBreakAction False _ _ = putStrLn "*** Ignoring breakpoint"
41 noBreakAction True  _ _ = return () -- exception: just continue
43-resume :: GhcMonad m => SingleStep -> m RunResult
44-resume step
45+resume :: GhcMonad m => (SrcSpan->Bool) -> SingleStep -> m RunResult
46+resume canLogSpan step
47  = do
48    hsc_env <- getSession
49    let ic = hsc_IC hsc_env
50hunk ./compiler/main/InteractiveEval.hs 463
51         when (isStep step) $ liftIO setStepFlag
52         case r of
53           Resume expr tid breakMVar statusMVar bindings
54-              final_ids apStack info _ hist _ -> do
55+              final_ids apStack info span hist _ -> do
56                withVirtualCWD $ do
57                 withBreakAction (isStep step) (hsc_dflags hsc_env)
58                                         breakMVar statusMVar $ do
59hunk ./compiler/main/InteractiveEval.hs 472
60                                       -- this awakens the stopped thread...
61                              takeMVar statusMVar
62                                       -- and wait for the result
63-                let hist' =
64-                     case info of
65-                       Nothing -> fromListBL 50 hist
66-                       Just i -> mkHistory hsc_env apStack i `consBL`
67+                let prevHistoryLst = fromListBL 50 hist
68+                    hist' = case info of
69+                       Nothing -> prevHistoryLst
70+                       Just i
71+                         | not $canLogSpan span -> prevHistoryLst
72+                         | otherwise -> mkHistory hsc_env apStack i `consBL`
73                                                         fromListBL 50 hist
74                 case step of
75                   RunAndLogSteps ->
80[Fix trac #3001: Biographical profiling segfaults
81Ian Lynagh <[email protected]>**20090211153457
82 We were zeroing the wrong memory
84[Tweak the mangler; fixes trac #2871
85Ian Lynagh <[email protected]>**20090211150340
86 It was getting confused by lines like:
87  # 9 "C:\Temp\/ghc620_0/ghc620_0.hc" 1
89[On sparc, pass -mcpu=v9 when assembling with object splitting enabled
90Ian Lynagh <[email protected]>**20090211141600
91 Fixes trac #2872.
93[Don't use the absolute path to the bindist tarball
94Ian Lynagh <[email protected]>**20090210215215
95 On Windows, we end up doing something like
96     rsync c:/build/ghc-6.10.1-unknown-mingw32.tar.bz2 haskell.org:dist
97 and it thinks that it is meant to get the file from the host called "c".
98 Now we just do
99     rsync ghc-6.10.1-unknown-mingw32.tar.bz2 haskell.org:dist
100 so rsync understand what we mean.
102[Improvements to the "can't find module" error message (#2980)
103Simon Marlow <[email protected]>**20090206165743
104 Ignore-this: 2de565e20f68ebdc3865df7391c81437
105 If the module was found in multiple hidden packages, we list them all.
107 Could not find module `Data.Generics':
108   it is a member of the hidden package `base-'
109   it is a member of the hidden package `syb'
110   Use -v to see a list of the files searched for.
112[Fix "make install": Put "[]" in the install package.conf
113Ian Lynagh <[email protected]>**20090114205945]
114[Handle the case where setitimer(ITIMER_VIRTUAL) is not always available
115Ian Lynagh <[email protected]>**20090208191431
116 Patch from sthibaul. Fixes trac #2883.
118[Correct an IsFunction that should be IsData
119Ian Lynagh <[email protected]>**20090207005817]
120[Fix calling maths functions when compiling via C
121Ian Lynagh <[email protected]>**20090206223055]
122[Fix the build on IA64
123Ian Lynagh <[email protected]>**20090206172020]
124[When generating C, don't pretend functions are data
125Ian Lynagh <[email protected]>**20090206154334
126 We used to generated things like:
127     extern StgWordArray (newCAF) __attribute__((aligned (8)));
128     ((void (*)(void *))(W_)&newCAF)((void *)R1.w);
129 (which is to say, pretend that newCAF is some data, then cast it to a
130 function and call it).
131 This goes wrong on at least IA64, where:
132     A function pointer on the ia64 does not point to the first byte of
133     code. Intsead, it points to a structure that describes the function.
134     The first quadword in the structure is the address of the first byte
135     of code
136 so we end up dereferencing function pointers one time too many, and
137 segfaulting.
139[Improve error reporting for precedence errors
140[email protected]**20090202164450
141 Ignore-this: 493643a40c119ba6ad54d0f220dc4606
143 Adopt the suggestion of Trac #2993, and tidy up the reporting of
144 precedence parsing errors somewhat.
147[Force the result of user-defined commands
148Simon Marlow <[email protected]>**20090130091919
149 Ignore-this: f756d00cc062072e1945d63cfbbeb98
150 so that exceptions are reported with "*** Exception" instead of as a panic.
152[Revert: Inject implicit bindings before the simplifier (Trac #2070)
153Ian Lynagh <[email protected]>**20090202194749
154 [email protected]**20080205165507
156 6.10-branch only. The patch caused problems; see trac #2987 for details.
158[Create package.conf when installing a bindist
159Ian Lynagh <[email protected]>**20090118110654]
160[Warn in configure if it looks like make 3.80 is about to be used
161Ian Lynagh <[email protected]>**20090201203505
162 We get caught by
163     http://savannah.gnu.org/bugs/index.php?1516
164     $(eval ...) inside conditionals causes errors
165 with make 3.80, so warn the user if it looks like they're about to
166 try to use it.
168[Don't pin a register for gc_thread on SPARC.
169[email protected]**20090105030758
171 This makes the build work again.
173[Improve error messages slightly
174[email protected]**20090113164020
175 Ignore-this: 89090ec03d8ea201f64105c0dbb8d5f9
177[add comment for ASSERT_LOCK_HELD()
178Simon Marlow <[email protected]>**20090126140030
179 Ignore-this: c3ce1e8df9d94eb92a17f4f58c496a41
181[MERGED: Detect when a C finalizer calls back to Haskell
182Ian Lynagh <[email protected]>**20090130192914
183 Simon Marlow <[email protected]>**20090114121526
184  Ignore-this: e361d7278e2478da2f300625076cc0ae
185  This is illegal now, after the fix for #1364, but it turns out that
186  the existing check for dodgy callbacks doesn't catch finalizers
187  calling back, so we need another test.  This will be particularly
188  important for 6.10.2, because the behaviour has changed.
190[Fix Trac #2985: generating superclasses and recursive dictionaries
191[email protected]**20090130152738
192 Ignore-this: 921ab14e850085ddbe545b078e02120b
194 The Note [Recursive instances and superclases] explains the subtle
195 issues to do with generating the bindings for superclasses when
196 we compile an instance declaration, at least if we want to do the
197 clever "recursive superclass" idea from the SYB3 paper.
199 The old implementation of tcSimplifySuperClasses stumbled when
200 type equalities entered the picture (details in the Note); this
201 patch fixes the problem using a slightly hacky trick.  When we
202 re-engineer the constraint solver we'll want to keep an eye on
203 this.
205 Probably worth merging to the 6.10 branch.
209[Make -XTypeFamilies imply -XRelaxedPolyRec (Trac #2944)
210[email protected]**20090113162716
211 Ignore-this: 8ab21566045c8bc8050ed7dda04e2df
213[MERGED: Fix #2961: we lost some of the generated code for stack args in genCCall
214Ian Lynagh <[email protected]>**20090130165014
215 Simon Marlow <[email protected]>**20090126150209
216  Ignore-this: 77de911bfc98ecca566f1744dfe75a7b
217  A real bug in the x86_64 native code gen: nice!
219  This bug would have been caught by -Wall, and I would have gone though
220  and Walled this file but I know Ben is hacking on this file quite
221  heavily and I don't want to create undue conflicts.  Ben: it would be
222  nice to enable -Wall here when you have time.
224[Fix Trac #2937: deserialising assoicated type definitions
225[email protected]**20090113153217
226 Ignore-this: 7d7852a70a34fc22773757709735cc24
228 The deserialiser (TcIface) for associated type definitions wasn't
229 taking into account that the class decl brings into scope some
230 type variables that scope over the data/type family declaration.
232 Easy to fix: the new function is TcIface.bindIfaceTyVars_AT
235[Remove dead code
236[email protected]**20081028074639]
237[Fix Trac #2914: record wild cards and assoicated types
238[email protected]**20090108124118]
239[Fix Trac #2723: keep track of record field names in the renamer
240[email protected]**20081028110445
242 The idea here is that with -XNamedFieldPuns and -XRecordWildCards we don't
243 want to report shadowing errors for
244        let fld = <blah> in C { .. }
245 But to suppress such shadowing errors, the renamer needs to know that
246 'fld' *is* a record selector.  Hence the new NameSet in
247 TcRnFypes.RecFieldEnv
250[When converting TH syntax to GHC syntax, need to put sections in parentheses
251Ian Lynagh <[email protected]>**20090121141706
252 Fixes trac #2956
254[#2973: we should virtualise the CWD inside the GHC API, not in the client
255Simon Marlow <[email protected]>**20090127121648
256 Ignore-this: 5d57181d25a0661ad20fa48154f4a80
257 The problem is that we install the client's CWD before calling
258 runStmt, but runStmt has to load modules before running the code.  We
259 need to install the CWD just before running the code instead, which
260 means it has to be done inside runStmt (and resume).
262[Remove the doc/ contents from the GMP tarball
263Ian Lynagh <[email protected]>**20090128200749
264 They are GFDLed, which causes problems for Debian
266[Fix building ghc-pkg with our older version of Cabal
267Ian Lynagh <[email protected]>**20090116213955]
268[Fix Trac #2931
269[email protected]**20090113170948
270 Ignore-this: 6ff0207627165f3f7bd145171e59b533
272 Fix the lexical analyser when it encounters 'x<EOF> and Template
273 Haskell is on.
276[More useful error message when a package .hi file cannot be found:
277Simon Marlow <[email protected]>**20090115122524
278 Ignore-this: b595e2fac5d9b5214340f83a7d7dd730
280 > import System.Process
281 Could not find module `System.Process':
282   There are files missing in the process- package,
283   try running 'ghc-pkg check'.
284   Use -v to see a list of the files searched for.
286[soup-up "ghc-pkg check"
287Simon Marlow <[email protected]>**20090115122143
288 Ignore-this: 6d29af258eb31d417d01fed167cd5d47
290 We now look for missing files (including .hi files), and report all
291 the packages that are transitively broken.
293 $ ghc-pkg check
294 There are problems in package syb-
295   dependency foo- doesn't exist
296 There are problems in package process-
297   file System/Process.hi is missing
299 The following packages are broken, either because they have a problem
300 listed above, or because they depend on a broken package.
301 syb-
302 process-
303 base-
304 Cabal-1.7.0
305 haskell98-
306 haddock-2.4.2
307 ghc-6.11
309[Workaround for #2262, from Barney Stratford
310Simon Marlow <[email protected]>**20081216124706
311 See http://www.haskell.org/pipermail/glasgow-haskell-users/2008-December/016333.html
313[Fix Trac #2584: Pretty printing of types with HsDocTy
314David Waern <[email protected]>**20090109191713
316 The pretty printing clause for HsDocTy was wrong, causing brackets to be left
317 out. We now print Haddock comments on types as if they were postfix type
318 operators.
320[bump GHC's max stack size to 512M
321Simon Marlow <[email protected]>**20081219112211
322 To accomodate compiling very long static lists (#2002)
324[when calling mmap() with MAP_ANON, the fd argument should be -1
325Simon Marlow <[email protected]>**20090108155341
326 might fix #2925
328[MERGED: fix a race where the timer signal could remain turned off, leading to deadlock
329Ian Lynagh <[email protected]>**20090111140523
330 Simon Marlow <[email protected]>**20090107120652
332[Close the races between throwTo and thread completion
333Simon Marlow <[email protected]>**20090107140507
334 Any threads we missed were being caught by the GC (possibly the idle
335 GC if the system was otherwise inactive), but that's not ideal.  The
336 fix (from Bertram Felgenhauer) is to use lockTSO to synchronise,
337 imposing an unconditional lockTSO on thread exit.  I couldn't measure
338 any performance overhead from doing this, so it seems reasonable.
340[add comment
341Simon Marlow <[email protected]>**20090107121142]
342[Fix two more locking issues in throwTo()
343Bertram Felgenhauer <[email protected]>**20090107120808]
344[maybePerformBlockedException() should handle ThreadComplete/ThreadKilled
345Simon Marlow <[email protected]>**20090107120734
346 Part of the fix for #2910
348[putMVar and takeMVar: add write_barrier() to fix race with throwTo
349Simon Marlow <[email protected]>**20090107112026]
350[wake up the blocked exception queue on ThreadFinished; fixes #2910
351Simon Marlow <[email protected]>**20090106153254]
352[FIX BUILD on Windows (fix for #2873 broke it)
353Simon Marlow <[email protected]>**20090109090658]
354[Fix #2873: should fail if a package DB desn't exist
355Simon Marlow <[email protected]>**20090108095628
356 We allowed non-existence before because the user DB is allowed to not
357 exist, so now we have an explicit exception for that case.
359[Check that make supports eval
360Ian Lynagh <[email protected]>**20090109151006]
361[Require HsColour by default
362Ian Lynagh <[email protected]>**20090104214647
363 This should stop us ending up without HsColour'ed sources on some
364 platforms.
366 We also now tell Cabal where to find HsColour, rather than it finding
367 it itself.
369[Add "Word size" to the +RTS --info output
370Ian Lynagh <[email protected]>**20090109160454]
371[Add some more fields to +RTS --info
372Ian Lynagh <[email protected]>**20090108131101]
373[MERGED: Tidy up treatment of big lambda (fixes Trac #2898)
374Ian Lynagh <[email protected]>**20090104140358
375 [email protected]**20081230145948
377  There was a leftover big lambda in the CorePrep'd code, which confused
378  the bytecode generator.  Actually big lambdas are harmless.  This patch
379  refactors ByteCodeGen so that it systemantically used 'bcView' to eliminate
380  junk.  I did a little clean up in CorePrep too.
382  See comments in Trac #2898.
384[MERGED: Improve error reporting for 'deriving'
385Ian Lynagh <[email protected]>**20090104131543
386 [email protected]**20081231143521
388  a) Improve the extra suggested fix when there's a "no instance"
389     error in a deriving clause.
391  b) Improve error location recording in tcInstDecl2
393  Many of the changes in tcInstDecl2 are simple reformatting.
395[Improve error message in deriving (fix Trac #2851)
396[email protected]**20081230165906]
397[Fix Trac #2856: make deriving work for type families
398[email protected]**20081231144151
400 Darn, but TcDeriv is complicated, when type families get in on
401 the act!  This patch makes GeneralisedNewtypeDeriving work
402 properly for type families.  I think.
404 In order to do so, I found that GeneralisedNewtypeDeriving can
405 work for recursive newtypes too -- and since families are conservatively
406 marked recursive, that's a crucial part of the fix, and useful too.
407 See Note [Recursive newtypes] in TcDeriv.
410[Remove time from extralibs at request of maintainer
411Ian Lynagh <[email protected]>**20090104115509]
412[Add quotes to error message
413[email protected]**20081230150402]
414[Fix Trac #2721: reject newtype deriving if the class has associated types
415[email protected]**20081231164300]
416[Fix Trac #2756: CorePrep strictness bug
417[email protected]**20081126143448]
418[Comments only: replace ":=:" by "~" (notation for equality predicates)
419[email protected]**20080920232024]
420[Avoid nasty name clash with associated data types (fixes Trac #2888)
421[email protected]**20081230164432
423 The main bug was in TcHsType; see Note [Avoid name clashes for
424 associated data types].  However I did a bit of re-factoring while
425 I was abouut it.
427 I'm still a but unhappy with the use of TyCon.setTyConArgPoss; it'd
428 be better to construct the TyCon correctly in the first place.  But
429 that means passing an extra parameter to tcTyDecl1... maybe we should
430 do this.
434[Refactor RnEnv to fix Trac #2901
435[email protected]**20081230150445
437 This tidy-up fixes Trac #2901, and eliminates 20 lines of code.
438 Mainly this is done by making a version of lookupGlobalOccRn that
439 returns (Maybe Name); this replaces lookupSrcOccRn but does more.
442[Comments only
443[email protected]**20081208124155]
444[MERGED: Fix #2838: we should narrow a CmmInt before converting to ImmInteger
445Ian Lynagh <[email protected]>**20081217213645
446 Simon Marlow <[email protected]>**20081209105515
448[MERGED: Fix #2592: do an orderly shutdown when the heap is exhausted
449Ian Lynagh <[email protected]>**20081217194650
450 Simon Marlow <[email protected]>**20081209105919
451  Really we should be raising an exception in this case, but that's
452  tricky (see comments).  At least now we shut down the runtime
453  correctly rather than just exiting.
455[MERGED: FIX #1364: added support for C finalizers that run as soon as the value is not longer reachable.
456Ian Lynagh <[email protected]>**20081217162120
457 Simon Marlow <[email protected]>**20081210150425
459  Patch originally by Ivan Tomac <[email protected]>, amended by
460  Simon Marlow:
462    - mkWeakFinalizer# commoned up with mkWeakFinalizerEnv#
463    - GC parameters to ALLOC_PRIM fixed
465[On FreeBSD, try MAP_FIXED if ordinary mmap() fails to give us suitable memory
466Simon Marlow <[email protected]>**20081210115751
467 This appears to be necessary on FreeBSD.  It might be necessary on
468 other OSs too, but I'm being cautious because using MAP_FIXED can lead
469 to crashes by overwriting existing mappings, and we have no (easy) way
470 to prevent that.
472[Fix #2848: avoid overflow during time calculation
473Simon Marlow <[email protected]>**20081209105600]
474[Document hs_init() infelicity (#2863)
475Simon Marlow <[email protected]>**20081209164322]
476[The default cleanup handler should /always/ delete the temp files
477Ian Lynagh <[email protected]>**20081211170006
478 Not only if there has been an exception. It worked for GHC anyway,
479 as it was getting an ExitSuccess exception, but GHC API clients
480 shouldn't be required to do that.
482[Fix (part of) #2868: do load-balancing when there's only one spark
483Simon Marlow <[email protected]>**20081210144235]
484[Merge some of the #2847 fixes to the 6.10 branch
485Ian Lynagh <[email protected]>**20081209211854
486 The patches didn't merge cleanly. I've only made the
487     notFollowedByPragmaChar
488 fix to the OPTIONS pragma.
490[Format output for :t more nicely
491[email protected]**20081126134814]
492[Fix 32-bit breakage
493Simon Marlow <[email protected]>**20081119145429]
494[add a warning that --enable-shared is experimental
495Simon Marlow <[email protected]>**20081114104034]
496[Better error message for fundep conflict
497[email protected]**20081201162845]
498[Fix typo in quasi-quote documentation's sample.
499shelarcy <[email protected]>**20081129024344]
500[We need to tell cabal-bin which version of Cabal to use
501Ian Lynagh <[email protected]>**20081203123208
502 Otherwise, if the bootstrapping compiler has a newer version, we get
503 a mismatch between the version used to compile ghc-prim's Setup.hs and
504 the version that installPackage uses.
506[Document the --machine-readable RTS flag
507Ian Lynagh <[email protected]>**20081130152311]
508[Remove dead code
509Ian Lynagh <[email protected]>**20081128193831]
510[Update docs not to talk about deprecated -optdep-* flags; fixes trac #2773
511Ian Lynagh <[email protected]>**20081128193633]
512[Teach runghc about --help; fixes trac #2757
513Ian Lynagh <[email protected]>**20081128191706]
514[Use relative URLs in the GHC API haddock docs; fixes #2755
515Ian Lynagh <[email protected]>**20081128184511]
516[Fix Trac #2817 (TH syntax -> HsSyn conversion)
517[email protected]**20081126154022]
518[Fix Trac #2799: TcType.isOverloadedTy
519[email protected]**20081125110540
521 A missing case (for equality predicates) in isOverloadedTy make
522 bindInstsOfLocalFuns/Pats do the wrong thing.  Core Lint nailed it.
524 Merge to 6.10 branch.
527[#2768: fix compatibility problem with newer version of mingw
528Simon Marlow <[email protected]>**20081113114626]
529[Fix Trac #2766: printing operator type variables
530[email protected]**20081126132202]
531[Fix #2740: we were missing the free variables on some expressions
532Simon Marlow <[email protected]>**20081125103113
533 Particularly boolean expresions: the conditional of an 'if', and
534 guards, were missing their free variables.
536[fix the build when !USE_MMAP
537Simon Marlow <marlowsd@gmail.com>**20081121085418]
538[round the size up to a page in mmapForLinker() instead of in the caller
539Simon Marlow <marlowsd@gmail.com>**20081120154014]
540[error message wibble
541Simon Marlow <marlowsd@gmail.com>**20081120084901]
542[#2751: disourage --enable-shared in ./configure --help
543Simon Marlow <marlowsd@gmail.com>**20081114124748]
544[Report source span instead of just source location for unused names.
545Thomas Schilling <nominolo@googlemail.com>**20081122142641]
546[Add a --machine-readable RTS flag
547Ian Lynagh <igloo@earth.li>**20081123152127
548 Currently it only affects the -t flag output
550[Changes to "Fix some more shutdown races" for the 6.10 branch
551Simon Marlow <marlowsd@gmail.com>**20081120150512]
552[MERGE: Fix a race in the deadlock-detection code
553Simon Marlow <marlowsd@gmail.com>**20081120144052
554 After a deadlock it was possible for the timer signal to remain off,
555 which meant that the next deadlock would not be detected, and the
556 system would hang.  Spotted by conc047(threaded2).
558[Fix some more shutdown races
559Simon Marlow <marlowsd@gmail.com>**20081119124848
560 There were races between workerTaskStop() and freeTaskManager(): we
561 need to be sure that all Tasks have exited properly before we start
562 tearing things down.  This isn't completely straighforward, see
563 comments for details.
565[Move the freeing of Capabilities later in the shutdown sequence
566Simon Marlow <marlowsd@gmail.com>**20081024104301
567 Fixes a bug whereby the Capability has been freed but other
568 Capabilities are still trying to steal sparks from its pool.
570[Fix flag name -XDisambiguateRecordFields
572[Fix typo (HAVE_LIBGMP => HAVE_LIB_GMP); omit local gmp includes if HAVE_LIB_GMP
573Simon Marlow <marlowsd@gmail.com>**20081119131056
574 If we're using the system's installed GMP, we don't want to be picking
575 up the local gmp.h header file.
577 Fixes 2469(ghci) for me, because it turns out the system's GMP is more
578 up-to-date than GHC's version and has a fix for more recent versions
579 of gcc.  We also need to pull in a more recent GMP, but that's a
580 separte issue.
582[Add help messages about --with-editline-(includes,libraries) to the ghc configure script.
583Judah Jacobson <judah.jacobson@gmail.com>**20081114183334]
584[Omit definitions of cas() and xchg() in .hc code
585Simon Marlow <marlowsd@gmail.com>**20081114095738
586 They cause compilation errors (correctly) with newer gccs
587 Shows up compiling the RTS via C, which happens on Windows
589[fix compile breakage on Windows
590Simon Marlow <marlowsd@gmail.com>**20081117142831]
591[Attempt to fix #2512 and #2063;  add +RTS -xm<address> -RTS option
592Simon Marlow <marlowsd@gmail.com>**20081117120556
593 On x86_64, the RTS needs to allocate memory in the low 2Gb of the
594 address space.  On Linux we can do this with MAP_32BIT, but sometimes
595 this doesn't work (#2512) and other OSs don't support it at all
596 (#2063).  So to work around this:
598   - Try MAP_32BIT first, if available.
600   - Otherwise, try allocating memory from a fixed address (by default
601     1Gb)
603   - We now provide an option to configure the address to allocate
604     from.  This allows a workaround on machines where the default
605     breaks, and also provides a way for people to test workarounds
606     that we can incorporate in future releases.
608[Fix #2783: detect black-hole loops properly
609Simon Marlow <marlowsd@gmail.com>**20081117144515
610 At some point we regressed on detecting simple black-hole loops.  This
611 happened due to the introduction of duplicate-work detection for
612 parallelism: a black-hole loop looks very much like duplicate work,
613 except it's duplicate work being performed by the very same thread.
614 So we have to detect and handle this case.
616[Fix warning on Windows (use deleteThread() not deleteThread_())
617Simon Marlow <marlowsd@gmail.com>**20081117143047]
618[Another shutdown fix
619Simon Marlow <marlowsd@gmail.com>**20081117094350
620 If we encounter a runnable thread during shutdown, just kill it.  All
621 the threads are supposed to be dead at this stage, but this catches
622 threads that might have just returned from a foreign call, or were
623 finalizers created by the GC.
625 Fixes memo002(threaded1)
627[Fix another subtle shutdown deadlock
628Simon Marlow <marlowsd@gmail.com>**20081113160005
629 The problem occurred when a thread tries to GC during shutdown.  In
630 order to GC it has to acquire all the Capabilities in the system, but
631 during shutdown, some of the Capabilities have already been closed and
632 can never be acquired.
634[Fix an extremely subtle deadlock bug on x86_64
635Simon Marlow <marlowsd@gmail.com>**20081113155730
636 The recent_activity flag was an unsigned int, but we sometimes do a
637 64-bit xchg() on it, which overwrites the next word in memory.  This
638 happened to contain the sched_state flag, which is used to control the
639 orderly shutdown of the system.  If the xchg() happened during
640 shutdown, the scheduler would get confused and deadlock.  Don't you
641 just love C?
643[Fix gen_contents_index when not run inplace; trac #2764
644Ian Lynagh <igloo@earth.li>**20081116174122
645 Based on a patch from juhpetersen.
647[Fix a bug in the recompilation checking logic.
648Thomas Schilling <nominolo@googlemail.com>**20081113162653
650 Previously, using target HscNothing resulted in unnessesary
651 recompilation because 'upsweep_mod' treated HscInterface specially.
652 This patch changes relaxes this.
654 When running GHC with debug level 5, 'upsweep_mod' will now also be
655 more verbose about what it is doing.
657 There is (at least) one possible remaining problem, though: When using
658 target 'HscNothing' we generate a fake linkable to signal that we have
659 processed a module.  When switching to 'HscInterpreted' this may cause
660 objects to not be recompiled.  Switching from HscNothing to
661 HscInterpreted is therefore only safe if we unload everything first.
663[lookupSymbol: revert to looking up both with and without the @N suffix
664Simon Marlow <marlowsd@gmail.com>**20081113122927]
665[Always zap the trailing @N from symbols when looking up in a DLL
666Simon Marlow <marlowsd@gmail.com>**20081112111518
668 Fixes win32002(ghci)
670 Previously we only did this for references from object files, but we
671 should do it for all symbols, including those that GHCi looks up due
672 to FFI calls from bytecode.
674[close the temporary Handle before removing the file
675Simon Marlow <marlowsd@gmail.com>**20081114130958]
676[notice ^C exceptions when waiting for I/O
677Simon Marlow <marlowsd@gmail.com>**20081113114342]
678[Don't put stdin into non-blocking mode (#2778, #2777)
679Simon Marlow <marlowsd@gmail.com>**20081114130546
680 This used to be necessary when our I/O library needed all FDs in
681 O_NONBLOCK mode, and readline used to put stdin back into blocking
682 mode.  Nowadays the I/O library can cope with FDs in blocking mode,
683 and #2778/#2777 show why this is important.
685[Fix bootstrap with 6.10.1 on Windows
686Simon Marlow <marlowsd@gmail.com>**20081110134318
687 ghc-pkg doesn't understand the old syntax any more, so 'ghc-pkg -l' fails
689[Fix documentation (to say the opposite).
690Thomas Schilling <nominolo@googlemail.com>**20081110153819]
691[Documentation only.  Clarify that 'load*' may indeed throw SourceErrors.
692Thomas Schilling <nominolo@googlemail.com>**20081110175614
694 I don't think errors during dependency analysis should be passed to
695 the logger.
697[Documentation only.
698Thomas Schilling <nominolo@googlemail.com>**20081110153456]
699[Add 'packageDbModules' function to GHC API.
700Thomas Schilling <nominolo@googlemail.com>**20081110143510
702 This function returns a list of all modules available through the
703 package DB.
705 MERGE TO 6.10
707[Fix parse error with older gccs (#2752)
708Simon Marlow <marlowsd@gmail.com>**20081111135344]
709[Perform case-insensitive matching of path components in getBaseDir on Windows (Fixes bug 2743)
710Neil Mitchell <ndmitchell@gmail.com>**20081105134315]
711[Fix to i386_insert_ffrees (#2724, #1944)
712Simon Marlow <marlowsd@gmail.com>**20081111125619
713 The i386 native code generator has to arrange that the FPU stack is
714 clear on exit from any function that uses the FPU.  Unfortunately it
715 was getting this wrong (and has been ever since this code was written,
716 I think): it was looking for basic blocks that used the FPU and adding
717 the code to clear the FPU stack on any non-local exit from the block.
718 In fact it should be doing this on a whole-function basis, rather than
719 individual basic blocks.
721[Cope with ThreadRelocated when traversing the blocked_queue
722Simon Marlow <marlowsd@gmail.com>**20081106114045
723 Fixes "invalid what_next field" in ioref001 on Windows, and perhaps others
725[deadlock fix: reset the flag *after* checking the blackhole queue
726Simon Marlow <marlowsd@gmail.com>**20081105150542]
727[fix the :help docs for :set stop (#2737)
728Simon Marlow <marlowsd@gmail.com>**20081104092929]
729[bugfix: don't ingore the return value from rts_evalIO()
730Simon Marlow <marlowsd@gmail.com>**20081104142147]
731[allocateInGen(): increase alloc_blocks (#2747)
732Simon Marlow <marlowsd@gmail.com>**20081106113714]
733[Bugfix for patch "Do not filter the rts from linked libraries..." (#2745)
734Simon Marlow <marlowsd@gmail.com>**20081107092925
735 The sense of the #ifdef was wrong
737[Do not filter the rts from linked libraries in linkDynLib as Windows does not allow unresolved symbols
738Clemens Fruhwirth <clemens@endorphin.org>**20081013201426]
739[TAG GHC 6.10.1 release
740Ian Lynagh <igloo@earth.li>**20081107191823]
741[Set RELEASE back to NO
742Ian Lynagh <igloo@earth.li>**20081104134326]
743[Refuse to register packages with unversioned dependencies; trac #1837
744Ian Lynagh <igloo@earth.li>**20081031181746]
745[Export typeclasses for accessing compiler results.
746Thomas Schilling <nominolo@googlemail.com>**20081028182310
748 MERGE TO 6.10.
750[Fix Trac #2674: in TH reject empty case expressions and function definitions
752[Do proper cloning in worker/wrapper splitting
755 See Note [Freshen type variables] in WwLib.  We need to clone type
756 variables when building a worker/wrapper split, else we simply get
757 bogus code, admittedly in rather obscure situations.  I can't quite
758 remember what program showed this up, unfortunately, but there
759 definitely *was* one!  (You get a Lint error.)
762[Fix tcrun031: yet more tidying up in TcDeriv
764[Fix Trac #2713: refactor and tidy up renaming of fixity decls
767 In fixing #2713, this patch also eliminates two almost-unused
768 functions from RnEnv (lookupBndr and lookupBndr_maybe).  The
769 net lines of code is prety much unchanged, but more of them
770 are comments!
773[Fix Trac #2701: make deriving check better for unlifted args
776 Getting the automatic deriving mechanism to work really smoothly
777 is surprisingly hard.  I keep finding myself in TcDeriv!
779 Anyway, this is a nice clean fix to Trac #2701.
782[Use pdflatex rather than latex for building
783Ian Lynagh <igloo@earth.li>**20081024112400
784 The Windows builder is having problems running ps2pdf, so this works
785 aroudn the problem.
787[Remove an unmatched } in core.tex
788Ian Lynagh <igloo@earth.li>**20081024111750]
789[Add a usepackage{url}
790Ian Lynagh <igloo@earth.li>**20081024111458]
791[Update library version numbers in the release notes
792Ian Lynagh <igloo@earth.li>**20081023144018]
793[Fix Trac #2714 (a minor wibble)
796 In boxy_match (which is a pure function used by preSubType) we can
797 encounter TyVars not just TcTyVars; this patch takes account of that.
800[Update ANNOUNCE
801Ian Lynagh <igloo@earth.li>**20081022164423]
802[Improve crash message from applyTys and applyTypeToArgs
804[Fix Trac #2668, and refactor TcDeriv
807 TcDeriv deals with both standalone and ordinary 'deriving';
808 and with both data types and 'newtype deriving'.  The result
809 is really rather compilcated and ad hoc.  Ryan discovered
810 #2668; this patch fixes that bug, and makes the internal interfces
811 #more uniform.  Specifically, the business of knocking off
812 type arguments from the instance type until it matches the kind of the
813 class, is now done by derivTyData, not mkNewTypeEqn, because the
814 latter is shared with standalone derriving, whree the trimmed
815 type application is what the user wrote.
818[Set configure.ac up for the 6.10.1 release
819Ian Lynagh <igloo@earth.li>**20081022142125]
820[Reject programs with superclass equalities for now
821Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081021131721
822 - The current implementation of type families cannot properly deal
823   with superclass equalities.  Instead of making a half-hearted attempt at
824   supporting them, which mostly ends in cryptic error message, rejecting
825   right away with an appropriate message.
827   MERGE TO 6.10
829[Re-export Located(..) and related functions
830Simon Marlow <marlowsd@gmail.com>**20081020102422
831 So that clients don't need to import SrcLoc
833[Restore the terminal attributes even if ghci does not exit normally.
834Judah Jacobson <judah.jacobson@gmail.com>**20081020164109]
835[Wibble to ungrammatical error message
837[FIX #2693
838Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081021120107
839 - As long as the first reduceContext in tcSimplifyRestricted potentially
840   performs improvement, we need to zonk again before the second reduceContext.
841   It would be better to prevent the improvement in the first place, but given
842   the current situation zonking is definitely the right thing to do.
844   MERGE TO 6.10
846[FIX #2688
847Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081021044213
848 - Change in TcSimplify.reduceContext:
850      We do *not* go around for new extra_eqs.  Morally, we should,
851      but we can't without risking non-termination (see #2688).  By
852      not going around, we miss some legal programs mixing FDs and
853      TFs, but we never claimed to support such programs in the
854      current implementation anyway.
856   MERGE TO 6.10
858[FIX (partially) #2703: bug in stack overflow handling when inside block
859Simon Marlow <marlowsd@gmail.com>**20081020121103
860 As a result of a previous ticket (#767) we disabled the generation of
861 StackOverflow exceptions when inside a Control.Exception.block, on the
862 grounds that StackOverflow is like an asynchronous exception.  Instead
863 we just increase the stack size.  However, the stack size calculation
864 was wrong, and ended up not increasing the size of the stack, with the
865 result that the runtime just kept re-allocating the stack and filling
866 up memory.
868[Don't put the README file in the Windows installer; fixes trac #2698
869Ian Lynagh <igloo@earth.li>**20081021162543
870 The README file talks about getting and building the sources, which
871 doesn't make sense for the installer.
873[FIX #2691: Manually reset the terminal to its initial settings; works around a bug in libedit.
874Judah Jacobson <judah.jacobson@gmail.com>**20081016024838]
875[TAG 2008-10-19
876Ian Lynagh <igloo@earth.li>**20081019142201]
877Patch bundle hash: