- 26 Mar, 2009 4 commits
-
-
Simon Marlow authored
-
Ian Lynagh authored
-
chak@cse.unsw.edu.au. authored
-
chak@cse.unsw.edu.au. authored
-
- 23 Mar, 2009 1 commit
-
-
Bertram Felgenhauer authored
Fix via C compilation of modules that import, say, log1p from math.h (#3117) The list is based on preprocessing Stg.h with glibc 2.6.1 headers, and cross-checked with the ISO C 99 standard (draft).
-
- 25 Mar, 2009 1 commit
-
-
chak@cse.unsw.edu.au. authored
- Reifying a type family returns a TH family declaration - Reifying a data constructor from a data instance attributes that constructor to the family (not the representation tycon) - Ideally, we should have facilities to reify all type/data instances of a given family (and the same for instances of a class). I haven't added that here as it involves some API design.
-
- 24 Mar, 2009 1 commit
-
-
chak@cse.unsw.edu.au. authored
-
- 22 Mar, 2009 2 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
- 23 Mar, 2009 1 commit
-
-
Simon Marlow authored
-
- 20 Mar, 2009 2 commits
-
-
mad.one@gmail.com authored
Please the -Wall police by moving a variable declaration; really FIX getNumberOfProcessors() for MacOS X
-
mad.one@gmail.com authored
-
- 18 Mar, 2009 1 commit
-
-
mad.one@gmail.com authored
This checks if darwin_HOST_OS is defined and, if so, we call sysctlbyname() on the "hw.ncpu" property to get the processor count.
-
- 19 Mar, 2009 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 20 Mar, 2009 2 commits
-
-
Simon Marlow authored
-
chak@cse.unsw.edu.au. authored
-
- 19 Mar, 2009 1 commit
-
-
Simon Marlow authored
-
- 18 Mar, 2009 2 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
- 19 Mar, 2009 4 commits
-
-
chak@cse.unsw.edu.au. authored
-
Simon Marlow authored
-
Simon Marlow authored
-
chak@cse.unsw.edu.au. authored
-
- 18 Mar, 2009 3 commits
-
-
dias@eecs.tufts.edu authored
-
Simon Marlow authored
I'm not sure if this is the correct fix. If targetPlatform is really NCG-specific, then maybe we should call it asmTargetPlatform or something.
-
dias@eecs.tufts.edu authored
-
- 17 Mar, 2009 1 commit
-
-
dias@eecs.tufts.edu authored
- yet another wrong calling convention; this one was a special case for returning one value.
-
- 16 Mar, 2009 2 commits
-
-
dias@eecs.tufts.edu authored
- The function argument was stripped from the argument list but not from the type. Now they're both stripped.
-
dias@eecs.tufts.edu authored
1. Stack overflow fixed by making dataflow monad strict in the state. 2. Out of memory fixed by "forgetting" lastoutfacts in the dataflow monad where we should. We were creating an unnecessarily long list that grew exponentially...
-
- 18 Mar, 2009 2 commits
-
-
simonpj@microsoft.com authored
This patch adds an optional CONLIKE modifier to INLINE/NOINLINE pragmas, {-# NOINLINE CONLIKE [1] f #-} The effect is to allow applications of 'f' to be expanded in a potential rule match. Example {-# RULE "r/f" forall v. r (f v) = f (v+1) #-} Consider the term let x = f v in ..x...x...(r x)... Normally the (r x) would not match the rule, because GHC would be scared about duplicating the redex (f v). However the CONLIKE modifier says to treat 'f' like a constructor in this situation, and "look through" the unfolding for x. So (r x) fires, yielding (f (v+1)). The main changes are: - Syntax - The inlinePragInfo field of an IdInfo has a RuleMatchInfo component, which records whether or not the Id is CONLIKE. Of course, this needs to be serialised in interface files too. - The occurrence analyser (OccAnal) and simplifier (Simplify) treat CONLIKE thing like constructors, by ANF-ing them - New function coreUtils.exprIsExpandable is like exprIsCheap, but additionally spots applications of CONLIKE functions - A CoreUnfolding has a field that caches exprIsExpandable - The rule matcher consults this field. See Note [Expanding variables] in Rules.lhs. On the way I fixed a lurking variable bug in the way variables are expanded. See Note [Do not expand locally-bound variables] in Rule.lhs. I also did a bit of reformatting and refactoring in Rules.lhs, so the module has more lines changed than are really different.
-
Simon Marlow authored
-
- 17 Mar, 2009 3 commits
-
-
Simon Marlow authored
Generate binary log files from the RTS containing a log of runtime events with timestamps. The log file can be visualised in various ways, for investigating runtime behaviour and debugging performance problems. See for example the forthcoming ThreadScope viewer. New GHC option: -eventlog (link-time option) Enables event logging. +RTS -l (runtime option) Generates <prog>.eventlog with the binary event information. This replaces some of the tracing machinery we already had in the RTS: e.g. +RTS -vg for GC tracing (we should do this using the new event logging instead). Event logging has almost no runtime cost when it isn't enabled, though in the future we might add more fine-grained events and this might change; hence having a link-time option and compiling a separate version of the RTS for event logging. There's a small runtime cost for enabling event-logging, for most programs it shouldn't make much difference. (Todo: docs)
-
Simon Marlow authored
Since we introduced pointer tagging, we no longer always enter a closure to evaluate it. However, the biographical profiler relies on closures being entered in order to mark them as "used", so we were getting spurious amounts of data attributed to VOID. It turns out there are various places that need to be fixed, and I think at least one of them was also wrong before pointer tagging (CgCon.cgReturnDataCon).
-
Simon Marlow authored
Somebody needs to implement getNumberOfProcessors() for MacOS X, currently it will return 1.
-
- 16 Mar, 2009 3 commits
-
-
Simon Marlow authored
Also remove some unused cruft
-
Simon Marlow authored
Fixes heapprof001(prof_hp) after fix for #2917
-
Simon Marlow authored
Fixes heapprof001(prof_hp) following the recent HpLim patch, which depended on the lack of slop in the heap.
-
- 13 Mar, 2009 2 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-