2.3. Version 9.8.3¶
The LLVM backend
of this release is to be used with LLVM
11, 12, 13, 14 or 15.
2.3.1. Significant Changes¶
Issues fixed in this release include:
2.3.1.1. Compiler¶
Fixed a bug that caused GHC to panic when using the AArch64 ncg and
-fregs-graph
on certain programs (#24941).Fix invalid optimisation of Cmm programs on 32-bit platforms when targetting 64-bit targets (#24893 and #24700)
Improve float-out surrounding applications of
runRW#
(#25055)Fix
-fregs-graph
crash when targetting AArch64 (#24941)Fix native code generator miscompilation of signed sub-word arguments of FFI calls on x86 (#25018)
Fix code generation of foreign exports with more than 6 arguments when some are subword-width (#24314)
Fix recompilation avoidance behavior of
-fwrite-if-simplified-core
(#24656)Fix linking error when
TypeData
andStrictData
are in use (#24620)Fix miscompilation by x86 native code generator due to shortcutting (#24507)
Fix uses of
(~)
and(@)
being rejected inTemplateHaskell
splices (#23748)
2.3.1.2. Runtime system¶
Significantly improve performance of code loading via dynamic linking (#23415)
Internal fragmentation incurred by the non-moving garbage collector’s allocator has been reduced for small objects. In one real-world application, this has reduced resident set size by about 20% and modestly improved run-time. See #23340.
--nonmoving-dense-allocator-count=⟨count⟩
has been added to fine-tune this behaviour.Fix runtime crash of the
nonmoving garbage collector
due to weak pointers with static key (#24492)Allow heap profiling when the
--nonmoving-gc
is in use
2.3.1.3. GHCi¶
Fix a crash involving use of field selectors in GHCi (#25109)
2.3.1.4. JavaScript backend¶
2.3.1.5. base
¶
Bump version to 4.19.2.0
Fix spurious closing of file descriptors after
fork
on platforms using the KQueue event manager backend (#24672)
2.3.1.6. Haddock¶
Fix source links to hyperlinked sources output (#24086)
2.3.1.7. Other Core Libraries¶
Bump
stm
to 2.5.3.1Bump
deepseq
to 1.5.1.0Bump
array
to 0.5.8.0Bump
Cabal
to 3.10.3.0Bump
directory
to 1.3.8.5Bump
process
to 1.6.25.0
2.3.1.8. Included libraries¶
The package database provided with this distribution also contains a number of packages other than GHC itself. See the changelogs provided with these packages for further change information.
Package | Version | Reason for inclusion |
---|---|---|
ghc |
9.8.4 | The compiler itself |
Cabal-syntax |
3.10.3.0 | Dependency of |
Cabal |
3.10.3.0 | Dependency of |
Win32 |
2.13.4.0 | Dependency of |
array |
0.5.8.0 | Dependency of |
base |
4.19.2.0 | Core library |
binary |
0.8.9.1 | Dependency of |
bytestring |
0.12.1.0 | Dependency of |
containers |
0.6.8 | Dependency of |
deepseq |
1.5.1.0 | Dependency of |
directory |
1.3.8.5 | Dependency of |
exceptions |
0.10.7 | Dependency of |
filepath |
1.4.301.0 | Dependency of |
ghc-boot-th |
9.8.4 | Internal compiler library |
ghc-boot |
9.8.4 | Internal compiler library |
ghc-compact |
0.1.0.0 | Core library |
ghc-heap |
9.8.4 | GHC heap-walking library |
ghc-prim |
0.11.0 | Core library |
ghci |
9.8.4 | The REPL interface |
haskeline |
0.8.2.1 | Dependency of |
hpc |
0.7.0.0 | Dependency of |
integer-gmp |
1.1 | Core library |
mtl |
2.3.1 | Dependency of |
parsec |
3.1.17.0 | Dependency of |
pretty |
1.1.3.6 | Dependency of |
process |
1.6.25.0 | Dependency of |
semaphore-compat |
1.0.0 | Dependency of |
stm |
2.5.3.1 | Dependency of |
template-haskell |
2.21.0.0 | Core library |
terminfo |
0.4.1.6 | Dependency of |
text |
2.1.1 | Dependency of |
time |
1.12.2 | Dependency of |
transformers |
0.6.1.0 | Dependency of |
unix |
2.8.6.0 | Dependency of |
xhtml |
3000.2.2.1 | Dependency of |