[Git][ghc/ghc][wip/keepAlive-the-return-of-the-primop] 22 commits: rts: Flush eventlog buffers from flushEventLog

Ben Gamari gitlab at gitlab.haskell.org
Wed Nov 25 01:02:40 UTC 2020



Ben Gamari pushed to branch wip/keepAlive-the-return-of-the-primop at Glasgow Haskell Compiler / GHC


Commits:
f88f4339 by Ben Gamari at 2020-11-24T02:43:20-05:00
rts: Flush eventlog buffers from flushEventLog

As noted in #18043, flushTrace failed flush anything beyond the writer.
This means that a significant amount of data sitting in capability-local
event buffers may never get flushed, despite the users' pleads for us to
flush.

Fix this by making flushEventLog flush all of the event buffers before
flushing the writer.

Fixes #18043.

- - - - -
7c03cc50 by Ben Gamari at 2020-11-24T02:43:55-05:00
gitlab-ci: Run LLVM job on appropriately-labelled MRs

Namely, those marked with the ~"LLVM backend" label

- - - - -
9b95d815 by Ben Gamari at 2020-11-24T02:43:55-05:00
gitlab-ci: Run LLVM builds on Debian 10

The current Debian 9 image doesn't provide LLVM 7.

- - - - -
2ed3e6c0 by Ben Gamari at 2020-11-24T02:43:55-05:00
CmmToLlvm: Declare signature for memcmp

Otherwise `opt` fails with:

    error: use of undefined value '@memcmp$def'

- - - - -
6e16c853 by Ben Gamari at 2020-11-24T10:49:12-05:00
base: Add unsafeWithForeignPtr

- - - - -
5dc677fe by Ben Gamari at 2020-11-24T10:59:59-05:00
base: Introduce GHC.ForeignPtr.Ops module

This contains a variety of peek/poke operations for ForeignPtr accesses.

- - - - -
3c9d4db7 by Ben Gamari at 2020-11-24T10:59:59-05:00
GHC.IO.Buffer: Use ForeignPtr-specialised peek/poke

- - - - -
e190afc1 by Ben Gamari at 2020-11-24T11:05:55-05:00
GHC.Data.ByteArray: Initial commit

- - - - -
70c6f4f4 by Ben Gamari at 2020-11-24T20:00:48-05:00
StringBuffer: Rid it of ForeignPtrs

Bumps haddock submodule.

- - - - -
64394779 by Ben Gamari at 2020-11-24T20:00:56-05:00
GHC.Utils.Binary: Eliminate allocating withForeignPtr uses

- - - - -
cbb83eff by Ben Gamari at 2020-11-24T20:00:56-05:00
base: Eliminate allocating withForeignPtrs from GHC.Event.Array

- - - - -
4c9a7a16 by Ben Gamari at 2020-11-24T20:00:56-05:00
base: Use unsafeWithForeignPtr in GHC.IO.Buffer

- - - - -
dac48341 by Ben Gamari at 2020-11-24T20:00:56-05:00
GHC.Event.Array: Use unsafeWithForeignPtr

- - - - -
91821101 by Ben Gamari at 2020-11-24T20:00:56-05:00
Bump bytestring submodule

Teach it to use unsafeWithForeignPtr where appropriate.

- - - - -
0b7d6a3e by Ben Gamari at 2020-11-24T20:02:08-05:00
genprimopcode: Add a second levity-polymorphic tyvar

This will be needed shortly.

- - - - -
c54ca943 by GHC GitLab CI at 2020-11-24T20:02:08-05:00
Introduce keepAlive primop

- - - - -
103452a9 by Ben Gamari at 2020-11-24T20:02:08-05:00
base: Use keepAlive# in withForeignPtr

- - - - -
0aa024af by Ben Gamari at 2020-11-24T20:02:08-05:00
Implement withByteArrayContents in terms of keepAlive#

- - - - -
e75c5080 by Ben Gamari at 2020-11-24T20:02:08-05:00
base: Implement GHC.ForeignPtr.Ops in terms of keepAlive#

- - - - -
945b8cba by Ben Gamari at 2020-11-24T20:02:08-05:00
base: Use keepAlive# in Foreign.Marshal.Alloc

- - - - -
86ee8fda by Ben Gamari at 2020-11-24T20:02:08-05:00
ghc-compact: Use keepAlive# in GHC.Compact.Serialized

- - - - -
2e809f72 by Ben Gamari at 2020-11-24T20:02:08-05:00
testsuite: Accept

- - - - -


30 changed files:

- .gitlab-ci.yml
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/CmmToLlvm/Base.hs
- compiler/GHC/Core/Utils.hs
- compiler/GHC/CoreToStg/Prep.hs
- + compiler/GHC/Data/ByteArray.hs
- compiler/GHC/Data/StringBuffer.hs
- compiler/GHC/StgToCmm/Prim.hs
- compiler/GHC/Utils/Binary.hs
- compiler/ghc.cabal.in
- includes/RtsAPI.h
- includes/rts/EventLogWriter.h
- libraries/base/Debug/Trace.hs
- libraries/base/Foreign/ForeignPtr/Imp.hs
- libraries/base/Foreign/Marshal/Alloc.hs
- libraries/base/GHC/Event/Array.hs
- libraries/base/GHC/ForeignPtr.hs
- + libraries/base/GHC/ForeignPtr/Ops.hs
- libraries/base/GHC/IO/Buffer.hs
- libraries/base/base.cabal
- libraries/bytestring
- libraries/ghc-boot/GHC/Data/ShortText.hs
- libraries/ghc-boot/GHC/Utils/Encoding.hs
- libraries/ghc-compact/GHC/Compact/Serialized.hs
- rts/Capability.c
- rts/Capability.h
- rts/LinkerInternals.h
- rts/RtsSymbols.c
- rts/Schedule.c
- rts/Trace.c


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/17ad689a701eae4c7647574c857530515a0d344b...2e809f72c7f900da77b48df397463d6c95f0b1d6

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/17ad689a701eae4c7647574c857530515a0d344b...2e809f72c7f900da77b48df397463d6c95f0b1d6
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/20201124/1adbda5a/attachment.html>


More information about the ghc-commits mailing list