- 12 Nov, 2014 1 commit
-
-
Simon Marlow authored
This reverts commit f0fcc41d. New changes: now works on 32-bit platforms too. I added some basic support for 64-bit subtraction and comparison operations to the x86 NCG.
-
- 21 Oct, 2014 1 commit
-
-
Austin Seipp authored
Summary: OpenBSD's nm doesn't support the -P option and there appears to be no other way to get the desired information from it. Reviewers: kgardas, #ghc, austin Reviewed By: kgardas, #ghc, austin Subscribers: austin, ggreif Projects: #ghc Differential Revision: https://phabricator.haskell.org/D332 GHC Trac Issues: #9549
-
- 30 May, 2014 1 commit
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- 20 May, 2014 1 commit
-
-
Herbert Valerio Riedel authored
This was generated by applying `-ddump-minimal-imports` and addresses the current compile failure (see #9016) with GHC HEAD due to the new `die` being exported by `System.Exit` Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
- 19 May, 2014 1 commit
-
-
Christian.Maeder@dfki.de authored
Fixes #8783. In order to avoid querying the nm version that does not work on Mac OS X we use the "nm -P" output that is supposed to produce (more portable) POSIX output and works on all tested OSes (MinGW, Mac OS X, Solaris and Linux using GNU nm) although slightly different (as documented). The "nm -P" output is actually only needed to recognize the output of a non-GNU Solaris nm (all other OSes produce sane outut using "nm" only). Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
- 04 May, 2014 1 commit
-
-
Simon Marlow authored
Problems were found on 32-bit platforms, I'll commit again when I have a fix. This reverts the following commits: 54b31f74 b0534f78
-
- 02 May, 2014 1 commit
-
-
Simon Marlow authored
This tracks the amount of memory allocation by each thread in a counter stored in the TSO. Optionally, when the counter drops below zero (it counts down), the thread can be sent an asynchronous exception: AllocationLimitExceeded. When this happens, given a small additional limit so that it can handle the exception. See documentation in GHC.Conc for more details. Allocation limits are similar to timeouts, but - timeouts use real time, not CPU time. Allocation limits do not count anything while the thread is blocked or in foreign code. - timeouts don't re-trigger if the thread catches the exception, allocation limits do. - timeouts can catch non-allocating loops, if you use -fno-omit-yields. This doesn't work for allocation limits. I couldn't measure any impact on benchmarks with these changes, even for nofib/smp.
-
- 29 Mar, 2014 1 commit
-
-
tibbe authored
These array types are smaller than Array# and MutableArray# and are faster when the array size is small, as they don't have the overhead of a card table. Having no card table reduces the closure size with 2 words in the typical small array case and leads to less work when updating or GC:ing the array. Reduces both the runtime and memory allocation by 8.8% on my insert benchmark for the HashMap type in the unordered-containers package, which makes use of lots of small arrays. With tuned GC settings (i.e. `+RTS -A6M`) the runtime reduction is 15%. Fixes #8923.
-
- 24 Mar, 2014 1 commit
-
-
Austin Seipp authored
It causes a failure on Windows right now. This reverts commit 045b2803.
-
- 23 Mar, 2014 1 commit
-
-
kgardas authored
The patch provided by Christian Maeder <Christian.Maeder@dfki.de> Signed-off-by:
Karel Gardas <karel.gardas@centrum.cz> Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
- 13 Mar, 2014 1 commit
-
- 28 Nov, 2013 1 commit
-
-
Simon Marlow authored
-
- 26 Oct, 2013 1 commit
-
-
Austin Seipp authored
This reverts commit 2f5db98e.
-
- 25 Oct, 2013 1 commit
-
-
Simon Marlow authored
-
- 23 Sep, 2013 2 commits
-
-
gmainlan@microsoft.com authored
-
gmainlan@microsoft.com authored
-
- 06 Aug, 2013 1 commit
-
-
gmainland authored
We were using SSE is some places and XMM in others. Better to keep a consistent naming scheme.
-
- 15 Jun, 2013 2 commits
-
-
aljee@hyper.cx authored
-
aljee@hyper.cx authored
The commit replaces mkWeakForeignEnv# with addCFinalizerToWeak#. This new primop mutates an existing Weak# object and adds a new C finalizer to it. This change removes an invariant in MarkWeak.c, namely that the relative order of Weak# objects in the list needs to be preserved across GC. This makes it easier to split the list into per-generation structures. The patch also removes a race condition between two threads calling finalizeWeak# on the same WEAK object at that same time.
-
- 29 Mar, 2013 1 commit
-
-
nfrisby authored
* the new StgCmmArgRep module breaks a dependency cycle; I also untabified it, but made no real changes * updated the documentation in the wiki and change the user guide to point there * moved the allocation enters for ticky and CCS to after the heap check * I left LDV where it was, which was before the heap check at least once, since I have no idea what it is * standardized all (active?) ticky alloc totals to bytes * in order to avoid double counting StgCmmLayout.adjustHpBackwards no longer bumps ALLOC_HEAP_ctr * I resurrected the SLOW_CALL counters * the new module StgCmmArgRep breaks cyclic dependency between Layout and Ticky (which the SLOW_CALL counters cause) * renamed them SLOW_CALL_fast_<pattern> and VERY_SLOW_CALL * added ALLOC_RTS_ctr and _tot ticky counters * eg allocation by Storage.c:allocate or a BUILD_PAP in stg_ap_*_info * resurrected ticky counters for ALLOC_THK, ALLOC_PAP, and ALLOC_PRIM * added -ticky and -DTICKY_TICKY in ways.mk for debug ways * added a ticky counter for total LNE entries * new flags for ticky: -ticky-allocd -ticky-dyn-thunk -ticky-LNE * all off by default * -ticky-allocd: tracks allocation *of* closure in addition to allocation *by* that closure * -ticky-dyn-thunk tracks dynamic thunks as if they were functions * -ticky-LNE tracks LNEs as if they were functions * updated the ticky report format, including making the argument categories (more?) accurate again * the printed name for things in the report include the unique of their ticky parent as well as if they are not top-level
-
- 14 Feb, 2013 1 commit
-
-
Simon Marlow authored
To improve performance of StablePtr.
-
- 01 Feb, 2013 1 commit
-
-
gmainlan@microsoft.com authored
This patch adds support for 6 XMM registers on x86-64 which overlap with the F and D registers and may hold 128-bit wide SIMD vectors. Because there is not a good way to attach type information to STG registers, we aggressively bitcast in the LLVM back-end.
-
- 17 Nov, 2012 1 commit
-
-
ian@well-typed.com authored
-
- 16 Nov, 2012 1 commit
-
-
ian@well-typed.com authored
-
- 13 Nov, 2012 1 commit
-
-
ian@well-typed.com authored
When offsetof is defined, we use that. This avoids "variably modified at file scope" warnings/errors with recent gccs.
-
- 12 Nov, 2012 1 commit
-
-
ian@well-typed.com authored
DeriveConstants.hs works in a cross-compilation-friendly way. Rather than running a C program that prints out the constants, we just compile a C file which has the constants are encoded in symbol sizes. We then parse the output of 'nm' to find out what the constants are. Based on work by Gabor Greif <ggreif@gmail.com>.
-