- Mar 14, 2024
-
-
Without an understanding of immutable vs. mutable memory, the index primop family have a potentially non-intuitive type signature: indexOffAddr :: Addr# -> Int# -> a readOffAddr :: Addr# -> Int# -> State# d -> (# State# d, a #) indexOffAddr# might seem like a free generality improvement, which it certainly is not! This change adds a brief note on mutability expectations for most index/read/write access primops.
-
- Mar 12, 2024
-
-
This commit fixes an unnoticed out-of-bound memory access of genSym on 32-bit. ghc_unique_inc is 32-bit sized/aligned on 32-bit platforms, but we mistakenly treat it as a Word64 pointer in genSym, and therefore will accidentally load 2 garbage higher bytes, or with a small but non-zero chance, overwrite something else in the data section depends on how the linker places the data segments. This regression was introduced in !11802 and fixed here.
-
This reverts commit 615eb855. It was originally intended to fix #24449, but it was merely sweeping the bug under the rug. 3836a110 has properly fixed the fragile test, and we no longer need the C version of genSym. Furthermore, the C implementation causes trouble when compiling with clang that targets i386 due to alignment warning and libatomic linking issue, so it makes sense to revert it.
-
-
-
-
-
- Mar 11, 2024
-
-
This is necessary for prereleases, where GHCup accesses the release via `$ver/`
-
The heap census may contain references (e.g. `Counter.identity`) to static data which must be available when the census is reported at the end of execution. Fixes #24512.
-
- Mar 10, 2024
-
-
Ben Gamari authored
Bumps haddock submodule.
-
Ben Gamari authored
The old `combine` approach was quite fragile due to use of filename globbing. Moreover, it didn't parallelize well. This refactoring makes the goal more obvious, parallelizes better, and is more robust.
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
This was previously mistakenly added to the GHC 9.8 release notes.
-
Ben Gamari authored
It appears that this was
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
This provides PVP compliance while maintaining a clear correspondence between GHC releases and `ghc-internal` versions.
-
Ben Gamari authored
-
Ben Gamari authored
1 MByte was just too tight and failed intermittently on some platforms (e.g. CentOS 7). Bumping the limit to 8 MByte should provide sufficient headroom. Fixes #23139.
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
In particular this fails on platforms without `dlinfo`. I plan to address this but not before 9.10.1-alpha1.
-
Ben Gamari authored
I will fix this but not in time for 9.10.1-alpha1
-
Ben Gamari authored
-
- Mar 09, 2024
-
-
* Mention TypeAbstractions in 9.10.1-notes.rst * Set the status to "Experimental". * Add a "Since: GHC 9.x" comment to each section.
-
Ben Gamari authored
-
Ben Gamari authored
Don't allocate a Ptr constructor per frame.
-
Ben Gamari authored
Here we add the unit ID to the info table provenance structure.
-
Ben Gamari authored
This allows us to shave a 64-bit word off of the packed IPE entry size.
-
Ben Gamari authored
-
Ben Gamari authored
Previously we would eagerly allocate `InfoTableEnt`s for each info table registered in the info table provenance map. However, this costs considerable memory and initialization time. Instead we now lazily decode these tables. This allows us to use one-third the memory *and* opens the door to taking advantage of sharing opportunities within a module. This required considerable reworking since lookupIPE now must be passed its result buffer.
-
Ben Gamari authored
Such that we can add new helpers into GHC.InfoProv.Types without breakage.
-
Ben Gamari authored
-
Ben Gamari authored
-
This should have been done in 0f0c53a5 but I missed it.
-
There is nothing platform-dependent about our GOT implementation and GOT support is needed by `T24171` on i386.
-
See #24515 for details.
-
This replicates the behavior on Windows, where `Hi.exe` will produce profiling output named `Hi.prof` instead of `Hi.exe.prof`. While in the area I also fixed the extension-stripping logic, which incorrectly rewrote `Hi.exefoo` to `Hi.foo`. Closes #24515.
-