[Git][ghc/ghc][ghc-9.8] 6 commits: JS: support levity-polymorphic datatypes (#22360,#22291)
Ben Gamari (@bgamari)
gitlab at gitlab.haskell.org
Mon Jul 24 15:36:49 UTC 2023
Ben Gamari pushed to branch ghc-9.8 at Glasgow Haskell Compiler / GHC
Commits:
b0b88c24 by Sylvain Henry at 2023-07-21T13:09:52-04:00
JS: support levity-polymorphic datatypes (#22360,#22291)
- thread knowledge about levity into PrimRep instead of panicking
- JS: remove assumption that unlifted heap objects are rts objects (TVar#, etc.)
Doing this also fixes #22291 (test added).
There is a small performance hit (~1% more allocations).
Metric Increase:
T18698a
T18698b
(cherry picked from commit 8d6574bc68cbbcabbf7c0e5700571c4746127fb8)
- - - - -
e39e8fae by Arnaud Spiwack at 2023-07-21T13:10:17-04:00
Revert "Avoid desugaring non-recursive lets into recursive lets"
This (temporary) reverts commit 3e80c2b40213bebe302b1bd239af48b33f1b30ef.
Fixes #23550
(cherry picked from commit 522bd584f71ddeda21efdf0917606ce3d81ec6cc)
- - - - -
f0b9bfa1 by Torsten Schmits at 2023-07-21T13:10:24-04:00
Relax defaulting of RuntimeRep/Levity when printing
Fixes #16468
MR: !10702
Only default RuntimeRep to LiftedRep when variables are bound by the toplevel forall
(cherry picked from commit 459dee1b671958bcd5857a676afaf92f944a0af4)
- - - - -
3cac14d2 by Ben Gamari at 2023-07-21T13:11:43-04:00
nativeGen: Explicitly set flags of text sections on Windows
The binutils documentation (for COFF) claims,
> If no flags are specified, the default flags depend upon the section
> name. If the section name is not recognized, the default will be for the
> section to be loaded and writable.
We previously assumed that this would do the right thing for split
sections (e.g. a section named `.text$foo` would be correctly inferred
to be a text section). However, we have observed that this is not the
case (at least under the clang toolchain used on Windows): when
split-sections is enabled, text sections are treated by the assembler as
data (matching the "default" behavior specified by the documentation).
Avoid this by setting section flags explicitly. This should fix split
sections on Windows.
Fixes #22834.
(cherry picked from commit 3ece9856d157c85511d59f9f862ab351bbd9b38b)
- - - - -
f9ef5a44 by Ben Gamari at 2023-07-21T13:11:47-04:00
nativeGen: Set explicit section types on all platforms
(cherry picked from commit db7f7240b53c01447e44d2790ee37eacaabfbcf3)
- - - - -
f09530c5 by Ben Gamari at 2023-07-24T11:36:08-04:00
gitlab-ci: Mark linker_unload_native as broken on Alpine
Due to lack of dlinfo() support, which is necessary for sound unloading
support.
- - - - -
30 changed files:
- .gitlab-ci.yml
- .gitlab/gen_ci.hs
- .gitlab/jobs.yaml
- compiler/GHC/Builtin/Types.hs
- compiler/GHC/Cmm/Utils.hs
- compiler/GHC/CmmToAsm/Ppr.hs
- compiler/GHC/Core/TyCon.hs
- compiler/GHC/HsToCore/Binds.hs
- compiler/GHC/HsToCore/Expr.hs
- compiler/GHC/Iface/Type.hs
- compiler/GHC/Stg/Syntax.hs
- compiler/GHC/StgToByteCode.hs
- compiler/GHC/StgToCmm/ArgRep.hs
- compiler/GHC/StgToCmm/Lit.hs
- compiler/GHC/StgToJS/Apply.hs
- compiler/GHC/StgToJS/Expr.hs
- compiler/GHC/StgToJS/Rts/Rts.hs
- compiler/GHC/StgToJS/Types.hs
- compiler/GHC/StgToJS/Utils.hs
- compiler/GHC/Types/Basic.hs
- compiler/GHC/Types/RepType.hs
- compiler/GHC/Types/Unique/DFM.hs
- nofib
- rts/js/rts.js
- rts/js/verify.js
- + testsuite/tests/ghci/scripts/T16468.script
- + testsuite/tests/ghci/scripts/T16468.stdout
- testsuite/tests/ghci/scripts/all.T
- testsuite/tests/ghci/should_run/T16096.stdout
- testsuite/tests/primops/should_run/all.T
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e5615af43fc74699a3e9f5b81bc57482bf94d1b2...f09530c5546af1c5ba26ce5bbdcd03ba8383158a
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e5615af43fc74699a3e9f5b81bc57482bf94d1b2...f09530c5546af1c5ba26ce5bbdcd03ba8383158a
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20230724/072edadd/attachment.html>
More information about the ghc-commits
mailing list