[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 11 commits: Add missing BCO handling in scavenge_one.

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Fri Feb 16 22:50:53 UTC 2024



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


Commits:
a651456e by Ian-Woo Kim at 2024-02-16T17:50:28-05:00
Add missing BCO handling in scavenge_one.

- - - - -
9d53367b by Sylvain Henry at 2024-02-16T17:50:31-05:00
Make cast between words and floats real primops (#24331)

First step towards fixing #24331. Replace foreign prim imports with real
primops.

- - - - -
13ba9ed1 by Sylvain Henry at 2024-02-16T17:50:31-05:00
Perf: add constant folding for bitcast between float and word (#24331)

- - - - -
cd23151f by Sylvain Henry at 2024-02-16T17:50:31-05:00
Perf: replace stack checks with assertions in casting primops

There are RESERVED_STACK_WORDS free words (currently 21) on the stack,
so omit the checks.

Suggested by Cheng Shao.

- - - - -
0c459440 by Sylvain Henry at 2024-02-16T17:50:31-05:00
Reexport primops from GHC.Float + add deprecation

- - - - -
fd540485 by Ben Gamari at 2024-02-16T17:50:33-05:00
rts/Hash: Don't iterate over chunks if we don't need to free data

When freeing a `HashTable` there is no reason to walk over the hash list
before freeing it if the user has not given us a `dataFreeFun`.

Noticed while looking at #24410.

- - - - -
61d7f7cb by Cheng Shao at 2024-02-16T17:50:34-05:00
compiler: add SEQ_CST fence support

In addition to existing Acquire/Release fences, this commit adds
SEQ_CST fence support to GHC, allowing Cmm code to explicitly emit a
fence that enforces total memory ordering. The following logic is
added:

- The MO_SeqCstFence callish MachOp
- The %prim fence_seq_cst() Cmm syntax and the SEQ_CST_FENCE macro in Cmm.h
- MO_SeqCstFence lowering logic in every single GHC codegen backend

- - - - -
65c0dc9a by Cheng Shao at 2024-02-16T17:50:36-05:00
testsuite: fix hs_try_putmvar002 for targets without pthread.h

hs_try_putmvar002 includes pthread.h and doesn't work on targets
without this header (e.g. wasm32). It doesn't need to include this
header at all. This was previously unnoticed by wasm CI, though recent
toolchain upgrade brought in upstream changes that completely removes
pthread.h in the single-threaded wasm32-wasi sysroot, therefore we
need to handle that change.

- - - - -
b927c4c9 by Cheng Shao at 2024-02-16T17:50:36-05:00
ci: bump ci-images to use updated wasm image

This commit bumps our ci-images revision to use updated wasm image.

- - - - -
04922d86 by Andrew Lelechenko at 2024-02-16T17:50:36-05:00
Bump submodule text to 2.1.1

T17123 allocates less because of improvements to Data.Text.concat in 1a6a06a.

Metric Decrease:
    T17123

- - - - -
e344962c by Cheng Shao at 2024-02-16T17:50:38-05:00
rts: remove redundant rCCCS initialization

This commit removes the redundant logic of initializing each
Capability's rCCCS to CCS_SYSTEM in initProfiling(). Before
initProfiling() is called during RTS startup, each Capability's rCCCS
has already been assigned CCS_SYSTEM when they're first initialized.

- - - - -


30 changed files:

- .gitlab-ci.yml
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/Cmm/MachOp.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
- compiler/GHC/CmmToAsm/PPC/CodeGen.hs
- compiler/GHC/CmmToAsm/Wasm/FromCmm.hs
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/CmmToC.hs
- compiler/GHC/CmmToLlvm/CodeGen.hs
- compiler/GHC/Core.hs
- compiler/GHC/Core/Opt/ConstantFold.hs
- compiler/GHC/StgToCmm/Prim.hs
- compiler/GHC/StgToJS/Prim.hs
- − libraries/ghc-internal/cbits/CastFloatWord.cmm
- libraries/ghc-internal/ghc-internal.cabal
- libraries/ghc-internal/src/GHC/Float.hs
- libraries/text
- rts/Hash.c
- rts/PrimOps.cmm
- rts/Profiling.c
- rts/RtsSymbols.c
- rts/include/Cmm.h
- rts/include/stg/MiscClosures.h
- rts/js/arith.js
- rts/sm/Scav.c
- testsuite/tests/concurrent/should_run/hs_try_putmvar002_c.c
- testsuite/tests/interface-stability/base-exports.stdout


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/9d356a014432b2c5a95cf44aed097416d789d0c0...e344962c4b51d36e566cd38073df60c3986c621e

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/9d356a014432b2c5a95cf44aed097416d789d0c0...e344962c4b51d36e566cd38073df60c3986c621e
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/20240216/5009e5ae/attachment.html>


More information about the ghc-commits mailing list