[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 4 commits: JS: Re-add optimization for literal strings in genApp (fixes #23479)

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Tue Oct 29 20:16:58 UTC 2024



Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
020ad8d6 by Serge S. Gulin at 2024-10-29T16:16:50-04:00
JS: Re-add optimization for literal strings in genApp (fixes #23479)

Based on https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10588/

Co-authored-by: Sylvain Henry <sylvain at haskus.fr>
Co-authored-by: Andrei Borzenkov <root at sandwitch.dev>
Co-authored-by: Danil Berestov <goosedb at yandex.ru>

-------------------------
Metric Decrease:
    T25046_perf_size_gzip
    size_hello_artifact
    size_hello_artifact_gzip
    size_hello_unicode
    size_hello_unicode_gzip
-------------------------

- - - - -
f75f7ff7 by Cheng Shao at 2024-10-29T16:16:50-04:00
compiler: remove unused hscDecls/hscDeclsWithLocation

This patch removes unused `hscDecls`/`hscDeclsWithLocation` functions
from the compiler, to reduce maintenance burden when doing
refactorings related to ghci.

- - - - -
dd7b0f40 by Cheng Shao at 2024-10-29T16:16:51-04:00
testsuite: add T25414 test case marked as broken

This commit adds T25414 test case to demonstrate #25414. It is marked
as broken and will be fixed by the next commit.

- - - - -
9d563c49 by Cheng Shao at 2024-10-29T16:16:51-04:00
driver: fix foreign stub handling logic in hscParsedDecls

This patch fixes foreign stub handling logic in `hscParsedDecls`.
Previously foreign stubs were simply ignored here, so any feature that
involve foreign stubs would not work in ghci (e.g. CApiFFI). The patch
reuses `generateByteCode` logic and eliminates a large chunk of
duplicate logic that implements Core to bytecode generation pipeline
here. Fixes #25414.

- - - - -


30 changed files:

- compiler/GHC/Builtin/Names.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Linker/Loader.hs
- compiler/GHC/StgToJS/Apply.hs
- compiler/GHC/StgToJS/CodeGen.hs
- compiler/GHC/StgToJS/Expr.hs
- compiler/GHC/StgToJS/ExprCtx.hs
- compiler/GHC/StgToJS/Linker/Linker.hs
- compiler/GHC/StgToJS/Literal.hs
- compiler/GHC/StgToJS/Monad.hs
- + compiler/GHC/StgToJS/Sinker/Collect.hs
- compiler/GHC/StgToJS/Sinker.hs → compiler/GHC/StgToJS/Sinker/Sinker.hs
- + compiler/GHC/StgToJS/Sinker/StringsUnfloat.hs
- compiler/GHC/StgToJS/Symbols.hs
- compiler/GHC/StgToJS/Types.hs
- compiler/GHC/Types/ForeignCall.hs
- compiler/ghc.cabal.in
- docs/users_guide/debugging.rst
- rts/js/string.js
- + testsuite/tests/ghci/scripts/T25414.script
- testsuite/tests/ghci/scripts/all.T
- testsuite/tests/javascript/Makefile
- + testsuite/tests/javascript/T23479_1.hs
- + testsuite/tests/javascript/T23479_1.stdout
- + testsuite/tests/javascript/T23479_2.hs
- + testsuite/tests/javascript/T23479_2.stdout
- testsuite/tests/javascript/T24495.hs
- testsuite/tests/javascript/T24495.stdout


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/d5e7990ca9637ebee2293b22815fa0c393231baf...9d563c4969598d1630709d67bf3a1f01e645bb18

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/d5e7990ca9637ebee2293b22815fa0c393231baf...9d563c4969598d1630709d67bf3a1f01e645bb18
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/20241029/18533267/attachment.html>


More information about the ghc-commits mailing list