- Dec 16, 2020
-
-
Ben Gamari authored
Scripts taken from autoconf 90b8cb42ba3b244250a6986b8b78c80f30ed197a
-
Ben Gamari authored
-
Ben Gamari authored
Previously we would append -Werror to the argument list. However, this ended up overriding the -Wno-error=... flags in Settings.Warnings.
-
Ben Gamari authored
The previous state was quite illegible.
-
Ben Gamari authored
-
Ben Gamari authored
This interfered with the autoconf variable of the same name, breaking pre-release builds. (cherry picked from commit 15dca847) (cherry picked from commit 3e55edd9)
-
(cherry picked from commit 57f3fdb1)
- Dec 13, 2020
-
-
Ben Gamari authored
Fixes #18233.
-
- Dec 10, 2020
-
-
GHC GitLab CI authored
-
Ben Gamari authored
Previously we would push large objects and compact regions to the mark queue during the deadlock detect GC, resulting in failure to detect deadlocks.
-
GHC GitLab CI authored
Pull the cold non-moving allocation path out of alloc_for_copy.
-
GHC GitLab CI authored
Previously the deadlock-detection promotion logic in alloc_for_copy was just plain wrong: it failed to fire when gct->evac_gen_no != oldest_gen->gen_no. The fix is simple: move the
-
GHC GitLab CI authored
When performing a deadlock-detection GC we must ensure that all objects end up in the non-moving generation. Assert this in scavenge.
-
Ben Gamari authored
Previously an incorrect semicolon meant that we would fail to call busy_wait_nop when spinning.
-
- Dec 07, 2020
-
-
GHC GitLab CI authored
Per request of @phadej.
-
Ben Gamari authored
Pulled out of !4310. (cherry picked from commit be408b86)
-
Ben Gamari authored
As noted in #18991, we would previously allocate heap in low memory. Due to this the linker, which typically *needs* low memory, would end up competing with the heap. In longer builds we end up running out of low memory entirely, leading to linking failures. (cherry picked from commit a1a75aa9)
-
Ben Gamari authored
We place symbol_extras right after bss. We also need to ensure that symbol_extras can be mprotect'd independently from the rest of the image. To ensure this we round up the size of bss to a page boundary, thus ensuring that symbol_extras is also page-aligned. (cherry picked from commit 9f40cf6c) (cherry picked from commit 4b83b6a8)
-
GHC GitLab CI authored
See Note [Non-moving GC: Marking evacuated objects]. (cherry picked from commit b416189e)
-
Ben Gamari authored
(cherry picked from commit a3b8375e)
-
GHC GitLab CI authored
The mark thread is not joinable as we detach from it on creation. (cherry picked from commit ca1ef0e7)
-
GHC GitLab CI authored
pthread_join returns its error code and apparently doesn't set errno. (cherry picked from commit c488ac73)
-
GHC GitLab CI authored
Ensure that the the free variables have been pushed to the update remembered set before we zero the slop. (cherry picked from commit 134f7599)
-
GHC GitLab CI authored
(cherry picked from commit 35c22991)
-
GHC GitLab CI authored
After a THROWTO message has been handle the message closure is overwritten by a NULL message. We must ensure that the original closure's pointers continue to be visible to the nonmoving GC. (cherry picked from commit 6c2faf15)
-
GHC GitLab CI authored
The TSAN rework (specifically aad1f803) introduced a subtle regression in GC.c, swapping `g0` in place of `gen`. Whoops! Fixes #18997. (cherry picked from commit 21c807df)
-
Ben Gamari authored
See Note [Racing weak pointer evacuation] for all of the gory details.
-
- Dec 04, 2020
-
-
Ben Gamari authored
When fixing #17962 I neglected to consider that --export-dynamic is only supported on ELF platforms. (cherry picked from commit 35799dda)
-
- Dec 01, 2020
-
-
Ben Gamari authored
Fix the previous backport; this function was dead code in master but is still needed due to ProfHeap.c in ghc-8.10.
-
Ben Gamari authored
Since the latter wants to call getRTSStats.
-
Ben Gamari authored
While on face value this seems a bit heavy, I think it's far better than enforcing ordering on every access.
-
Ben Gamari authored
-
Ben Gamari authored
We can generally be pretty relaxed in the barriers here since the timer thread is a loop.
-
Ben Gamari authored
Previously `initScheduler` would attempt to pause the ticker and in so doing acquire the ticker mutex. However, initTicker, which is responsible for initializing said mutex, hadn't been called yet.
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
This avoids #17289.
-
Ben Gamari authored
-