[Git][ghc/ghc][wip/exception-context] 15 commits: base: Move CString, CStringLen to GHC.Foreign

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Fri Aug 19 21:08:22 UTC 2022



Ben Gamari pushed to branch wip/exception-context at Glasgow Haskell Compiler / GHC


Commits:
c3697c5b by Ben Gamari at 2022-08-19T15:52:58-04:00
base: Move CString, CStringLen to GHC.Foreign

- - - - -
25a231bf by Ben Gamari at 2022-08-19T15:52:58-04:00
base: Move IPE helpers to GHC.InfoProv

- - - - -
eb7b8dab by Ben Gamari at 2022-08-19T15:52:58-04:00
rts: Refactor IPE tracing support

- - - - -
111b8492 by Ben Gamari at 2022-08-19T15:52:58-04:00
Refactor IPE initialization

Here we refactor the representation of info table provenance information
in object code to significantly reduce its size and link-time impact.
Specifically, we deduplicate strings and represent them as 32-bit
offsets into a common string table.

In addition, we rework the registration logic to eliminate allocation
from the registration path, which is run from a static initializer where
things like allocation are technically undefined behavior (although it
did previously seem to work). For similar reasons we eliminate lock
usage from registration path, instead relying on atomic CAS.

Closes #22077.

- - - - -
dafb357b by Ben Gamari at 2022-08-19T17:03:24-04:00
Separate IPE source file from span

The source file name can very often be shared across many IPE entries
whereas the source coordinates are generally unique. Separate the two to
exploit sharing of the former.

- - - - -
2fcdff17 by Ben Gamari at 2022-08-19T17:08:12-04:00
base: Move PrimMVar to GHC.MVar

- - - - -
cb4726df by Ben Gamari at 2022-08-19T17:08:12-04:00
base: Clean up imports of GHC.ExecutionStack

- - - - -
44f3c041 by Ben Gamari at 2022-08-19T17:08:12-04:00
base: Clean up imports of GHC.Stack.CloneStack

- - - - -
0171e8cd by Ben Gamari at 2022-08-19T17:08:12-04:00
base: Introduce exception context

- - - - -
c895735d by Ben Gamari at 2022-08-19T17:08:12-04:00
base: Collect backtraces in GHC.IO.throwIO

- - - - -
f1016ce4 by Ben Gamari at 2022-08-19T17:08:13-04:00
base: Collect backtraces in GHC.Exception.throw

- - - - -
62d59127 by Ben Gamari at 2022-08-19T17:08:13-04:00
Pretty IPE

- - - - -
3c942439 by Ben Gamari at 2022-08-19T17:08:13-04:00
base: Move prettyCallStack to GHC.Stack

- - - - -
e40913c0 by Ben Gamari at 2022-08-19T17:08:13-04:00
Fix

- - - - -
53f5367e by Ben Gamari at 2022-08-19T17:08:13-04:00
Formatting

- - - - -


30 changed files:

- compiler/GHC/Cmm/CLabel.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/Driver/CodeOutput.hs
- compiler/GHC/Driver/Main.hs
- + compiler/GHC/StgToCmm/InfoTableProv.hs
- compiler/GHC/StgToCmm/Prof.hs
- compiler/ghc.cabal.in
- libraries/base/Foreign/C/String.hs
- libraries/base/GHC/Conc/Sync.hs
- libraries/base/GHC/Exception.hs
- + libraries/base/GHC/Exception/Backtrace.hs
- + libraries/base/GHC/Exception/Backtrace.hs-boot
- + libraries/base/GHC/Exception/Context.hs
- + libraries/base/GHC/Exception/Context.hs-boot
- libraries/base/GHC/Exception/Type.hs
- libraries/base/GHC/ExecutionStack.hs
- + libraries/base/GHC/ExecutionStack.hs-boot
- libraries/base/GHC/ExecutionStack/Internal.hsc
- libraries/base/GHC/Foreign.hs
- libraries/base/GHC/IO.hs
- + libraries/base/GHC/InfoProv.hsc
- libraries/base/GHC/MVar.hs
- libraries/base/GHC/Stack.hs
- libraries/base/GHC/Stack/CCS.hs-boot
- libraries/base/GHC/Stack/CCS.hsc
- libraries/base/GHC/Stack/CloneStack.hs
- + libraries/base/GHC/Stack/CloneStack.hs-boot
- libraries/base/base.cabal
- rts/IPE.c
- rts/IPE.h


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/b5d9acb1e7a5cba4a510eae4fe9ee7ad22439b46...53f5367e9f221be99a6c7b81ff60171bcbc59a82

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/b5d9acb1e7a5cba4a510eae4fe9ee7ad22439b46...53f5367e9f221be99a6c7b81ff60171bcbc59a82
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/20220819/fe1a2abc/attachment.html>


More information about the ghc-commits mailing list