summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Another overhaul of the recent_activity / idle GC handling (#5991)Simon Marlow2012-09-245-25/+63
| | | | | | | | | | | | | | | Improvements: - we now turn off the timer signal in the non-threaded RTS after idleGCDelay. This should make the xmonad users on #5991 happy. - we now turn off the timer signal after idleGCDelay even if the idle GC is disabled with +RTS -I0. - we now do *not* turn off the timer when profiling. - more comments to explain the meaning of the various ACTIVITY_* values
* Revert "Disable the timer signal while blocked in select() (#5991)"Simon Marlow2012-09-241-13/+4
| | | | | | | | | This reverts commit dd24d6bc37879c6b32a3d5ac4ee765e59e13501c. This attempt to fix the problem was misguided: the program might be stuck in a foreign call rather than awaitEvent(), and then the timer signal will never get disabled. The only way to turn off the timer signal in this case is in the timer interrupt handler itself.
* Ignore deprecation warnings for bitSize in libs when validatingIan Lynagh2012-09-231-0/+6
|
* Use finiteBitSize rather than bitSize when it is availableIan Lynagh2012-09-231-0/+10
|
* Don't warn about defining deprecated class methodsIan Lynagh2012-09-232-9/+14
| | | | | We only warn when the method is used, not when it is defined as part of an instance.
* Whitespace only in rename/RnSource.lhsIan Lynagh2012-09-231-306/+297
|
* Remove a redundant castIan Lynagh2012-09-211-1/+1
|
* Fix the profiling buildIan Lynagh2012-09-211-2/+2
|
* Convert more RTS macros to functionsIan Lynagh2012-09-211-5/+11
| | | | Object sizes still unchanged.
* Convert more RTS macros to functionsIan Lynagh2012-09-215-15/+22
| | | | No size changes in the non-debug object files
* Fix off-by-one (#7227)Simon Marlow2012-09-211-0/+1
|
* Include pinned memory in the stats for allocated memorySimon Marlow2012-09-212-1/+2
| | | | | This broke with the changes to the pinned object handling in 67f4ab7e6b7705a9d617c6109a8c5434ede13cae.
* Cache the result of countOccupied(gen->large_objects) as gen->n_large_words ↵Simon Marlow2012-09-213-2/+7
| | | | | | | | | (#7257) The program in #7257 was spending 90% of its time counting the live data in gen->large_objects. We already avoid doing this for small objects, but in this example the old generation was full of large objects (actually pinned ByteStrings).
* Allow allocNursery() to allocate single blocks (#7257)Simon Marlow2012-09-212-11/+13
| | | | | | | Forcing large allocations here can creates serious fragmentation in some cases, and since the large allocations are only a small optimisation we should allow the nursery to hoover up small blocks before allocating large chunks.
* FIX #7255: print tyConTyVars tc, not tc_argsJose Pedro Magalhaes2012-09-211-1/+1
|
* Add missing dataCast1 method to the Data Bag instanceJose Pedro Magalhaes2012-09-211-0/+1
|
* Don't put unused constants in platformConstantsIan Lynagh2012-09-201-162/+186
| | | | This makes compiling DynFlags a lot quicker
* Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-09-2014-122/+247
|\
| * add a missing entryCodeSimon Marlow2012-09-201-1/+3
| |
| * splitAtProcPoints: jump to the right place when tablesNextToCode == FalseSimon Marlow2012-09-202-12/+26
| |
| * fix warningsSimon Marlow2012-09-201-4/+1
| |
| * fix warningSimon Marlow2012-09-201-0/+5
| |
| * Teach the linear register allocator how to allocate more stack if necessarySimon Marlow2012-09-208-82/+189
| | | | | | | | | | | | | | | | | | This squashes the "out of spill slots" panic that occasionally happens on x86, by adding instructions to bump and retreat the C stack pointer as necessary. The panic has become more common since the new codegen, because we lump code into larger blocks, and the register allocator isn't very good at reusing stack slots for spilling (see Note [extra spill slots]).
| * refactor flattenCmmAGraphSimon Marlow2012-09-201-17/+20
| |
| * non-tablesNextToCode fix for returns in the new codegenSimon Marlow2012-09-202-7/+4
| |
* | Remove redundant pragmas from RegAlloc.LivenessIan Lynagh2012-09-201-2/+0
| |
* | Make addSRM to strict additionsIan Lynagh2012-09-201-1/+4
| | | | | | | | I assume that this is what is intended, as it is used with foldl'
* | Fix warnings in RegAlloc.Graph.StatsIan Lynagh2012-09-201-1/+6
| |
* | Whitespace only in nativeGen/RegAlloc/Graph/Stats.hsIan Lynagh2012-09-201-198/+192
|/
* We don't actually need a Show instance for the PlatformConstants typeIan Lynagh2012-09-201-1/+1
| | | | and creating one is quite slow
* Change some "else return ()"s to use when/unlessIan Lynagh2012-09-204-12/+11
|
* Remove a couple of unneccesary Platform argumentsIan Lynagh2012-09-202-9/+4
|
* Fix litFitsInCharIan Lynagh2012-09-191-4/+3
| | | | It was always False before
* Make some uses of minBound/maxBound use the target Int/Word sizesIan Lynagh2012-09-191-27/+28
|
* Add the necessary REP_* constants to platformConstantsIan Lynagh2012-09-196-33/+59
|
* Make the StgWord/StgHalfWord types more similarIan Lynagh2012-09-191-5/+8
| | | | Also added a couple of comments.
* Remove redundant #includesIan Lynagh2012-09-192-4/+0
|
* Add some LDV_* constants to platformConstantsIan Lynagh2012-09-193-46/+40
|
* Remove a little more CPPIan Lynagh2012-09-185-20/+11
|
* Make StgWord a portable type tooIan Lynagh2012-09-1817-70/+105
| | | | | StgWord is a newtyped Word64, as it needed to be something that has a UArray instance.
* Make StgHalfWord a portable typeIan Lynagh2012-09-1812-132/+164
| | | | | It's now a newtyped Integer. Perhaps a newtyped Word32 would make more sense, though.
* Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-09-183-6/+16
|\
| * make some debug output conditional on -ddump-cmmzSimon Marlow2012-09-181-1/+1
| |
| * Declare SRT labels correctly in the via-C backendSimon Marlow2012-09-181-3/+3
| |
| * Small parallel GC improvementSimon Marlow2012-09-181-2/+12
| | | | | | | | Overlap the main thread's clearNursery() with the other threads.
* | Remove some uses of the WORDS_BIGENDIAN CPP symbolIan Lynagh2012-09-183-14/+39
| |
* | Give packHalfWordsCLit a more specific typeIan Lynagh2012-09-182-2/+2
|/ | | | | I'm not sure if there's a reason why the HeapRep constructor takes 2 WordOffs rather than 2 StgHalfWords.
* Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-09-1711-122/+220
|\
| * Make the call to chooseBoxingStrategy lazy againSimon Peyton Jones2012-09-171-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I made it strict, as an incidental consequence of this patch: commit 5bae803a18b17bdb158a7780e6b6ac3c520e5b39 Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Sat Sep 15 23:09:25 2012 +0100 Fix UNPACK with -fomit-interface-pragmas. But it's very important that chooseBoxingStrategy is lazy, else (in bigger programs with lots of recursion in types) GHC can loop. This showed up in Data.Sequence; and I think it was making haddock loop as well. Anyway this patch makes it lazy again.
| * typoGabor Greif2012-09-171-1/+1
| |