[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 22 commits: doc: Add -Dn flag to user guide

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Thu Feb 1 11:21:40 UTC 2024



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


Commits:
94ce031d by Teo Camarasu at 2024-02-01T05:49:49-05:00
doc: Add -Dn flag to user guide

Resolves #24394
- - - - -
8eda4c0e by Ben Gamari at 2024-02-01T06:20:57-05:00
cmm: Introduce MO_RelaxedRead

In hand-written Cmm it can sometimes be necessary to atomically load
from memory deep within an expression (e.g. see the `CHECK_GC` macro).
This MachOp provides a convenient way to do so without breaking the
expression into multiple statements.

- - - - -
ec3b96b0 by Ben Gamari at 2024-02-01T06:20:57-05:00
codeGen: Use relaxed accesses in ticky bumping

- - - - -
bc075dcb by Ben Gamari at 2024-02-01T06:20:57-05:00
base: use atomic write when updating timer manager

- - - - -
ecbfaec7 by Ben Gamari at 2024-02-01T06:20:57-05:00
Use relaxed atomics to manipulate TSO status fields

- - - - -
bf2f54de by Ben Gamari at 2024-02-01T06:20:57-05:00
rts: Add necessary barriers when manipulating TSO owner

- - - - -
89867656 by Ben Gamari at 2024-02-01T06:20:57-05:00
rts: Use `switch` to branch on why_blocked

This is a semantics-preserving refactoring.

- - - - -
70d143aa by Ben Gamari at 2024-02-01T06:20:57-05:00
rts: Fix synchronization on thread blocking state

We now use a release barrier whenever we update a thread's blocking
state. This required widening StgTSO.why_blocked as AArch64 does not
support atomic writes on 16-bit values.

- - - - -
5cc16749 by Ben Gamari at 2024-02-01T06:20:57-05:00
rts: Fix data race in threadPaused

This only affects an assertion in the debug RTS and only needs relaxed
ordering.

- - - - -
05e67624 by Ben Gamari at 2024-02-01T06:20:57-05:00
rts: Fix data race in threadStatus#

- - - - -
47bc1baa by Ben Gamari at 2024-02-01T06:20:57-05:00
rts: Fix data race in Interpreter's preemption check

- - - - -
be16da15 by Ben Gamari at 2024-02-01T06:20:57-05:00
rts/Messages: Fix data race

- - - - -
e996e3e1 by Ben Gamari at 2024-02-01T06:20:57-05:00
rts/Prof: Fix data race

- - - - -
ffac1bd0 by Ben Gamari at 2024-02-01T06:20:57-05:00
rts: Use relaxed ordering on dirty/clean info tables updates

When changing the dirty/clean state of a mutable object we needn't have
any particular ordering.

- - - - -
e99c6b0b by Ben Gamari at 2024-02-01T06:20:57-05:00
codeGen: Use relaxed-read in closureInfoPtr

- - - - -
daf3bfd6 by Ben Gamari at 2024-02-01T06:20:57-05:00
STM: Use acquire loads when possible

Full sequential consistency is not needed here.

- - - - -
ccf99ab7 by Ben Gamari at 2024-02-01T06:20:57-05:00
rts: Use fence rather than redundant load

Previously we would use an atomic load to ensure acquire ordering.
However, we now have `ACQUIRE_FENCE_ON`, which allows us to express this
more directly.

- - - - -
b65fccf4 by Ben Gamari at 2024-02-01T06:20:57-05:00
rts: Fix data races in profiling timer

- - - - -
75dbdede by Ben Gamari at 2024-02-01T06:20:57-05:00
Add Note [C11 memory model]

- - - - -
9c08244e by Ben Gamari at 2024-02-01T06:20:58-05:00
Add os-string as a boot package

Introduces `os-string` submodule. This will be necessary for
`filepath-1.5`.

- - - - -
74e0fdc2 by Ben Gamari at 2024-02-01T06:20:58-05:00
Bump filepath to 1.5.0.0

Required bumps of the following submodules:

 * `directory`
 * `filepath`
 * `haskeline`
 * `process`
 * `unix`
 * `hsc2hs`
 * `Win32`
 * `semaphore-compat`

and the addition of `os-string` as a boot package.

- - - - -
94f757e9 by Andrei Borzenkov at 2024-02-01T06:20:58-05:00
Namespacing for WARNING/DEPRECATED pragmas (#24396)

New syntax for WARNING and DEPRECATED pragmas was added,
namely namespace specifierss:

  namespace_spec ::= 'type' | 'data' | {- empty -}

  warning ::= warning_category namespace_spec namelist strings

  deprecation ::= namespace_spec namelist strings

A new data type was introduced to represent these namespace specifiers:

  data NamespaceSpecifier =
    NoSpecifier |
    TypeNamespaceSpecifier (EpToken "type") |
    DataNamespaceSpecifier (EpToken "data")

Extension field XWarning now contains this NamespaceSpecifier.

lookupBindGroupOcc function was changed: it now takes NamespaceSpecifier
and checks that the namespace of the found names matches the passed flag.
With this change {-# WARNING data D "..." #-} pragma will only affect value
namespace and {-# WARNING type D "..." #-} will only affect type
namespace. The same logic is applicable to DEPRECATED pragmas.

Finding duplicated warnings inside rnSrcWarnDecls now takes into
consideration NamespaceSpecifier flag to allow warnings with the
same names that refer to different namespaces.

- - - - -


30 changed files:

- .gitmodules
- compiler/GHC/Cmm/Expr.hs
- compiler/GHC/Cmm/Info.hs
- compiler/GHC/Cmm/MachOp.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/Cmm/ThreadSanitizer.hs
- 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/Hs/Decls.hs
- compiler/GHC/Parser.y
- compiler/GHC/Rename/Bind.hs
- compiler/GHC/Rename/Env.hs
- compiler/GHC/Rename/Module.hs
- compiler/GHC/StgToCmm/Ticky.hs
- compiler/GHC/StgToCmm/Utils.hs
- compiler/ghc.cabal.in
- docs/users_guide/9.10.1-notes.rst
- docs/users_guide/exts/pragmas.rst
- docs/users_guide/runtime_control.rst
- ghc/ghc-bin.cabal.in
- hadrian/src/Packages.hs
- hadrian/src/Settings/Default.hs
- hadrian/src/Settings/Packages.hs
- libraries/Cabal
- libraries/Win32
- libraries/base/src/GHC/Event/Thread.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/64b252d2c907f8ff8541b879598be5a5385a41b3...94f757e9d84e119427f4c5cf6a7461a4df84bfd9

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/64b252d2c907f8ff8541b879598be5a5385a41b3...94f757e9d84e119427f4c5cf6a7461a4df84bfd9
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/20240201/90414862/attachment-0001.html>


More information about the ghc-commits mailing list