Commits on Source (15)
-
Ben Gamari authoredc3697c5b
-
Ben Gamari authored25a231bf
-
Ben Gamari authoredeb7b8dab
-
Ben Gamari authored
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.
111b8492 -
Ben Gamari authored
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.
dafb357b -
Ben Gamari authored2fcdff17
-
Ben Gamari authoredcb4726df
-
Ben Gamari authored44f3c041
-
Ben Gamari authored0171e8cd
-
Ben Gamari authoredc895735d
-
Ben Gamari authoredf1016ce4
-
Ben Gamari authored62d59127
-
Ben Gamari authored3c942439
-
Ben Gamari authorede40913c0
-
Ben Gamari authored53f5367e
Showing
- compiler/GHC/Cmm/CLabel.hs 6 additions, 2 deletionscompiler/GHC/Cmm/CLabel.hs
- compiler/GHC/Cmm/Parser.y 3 additions, 3 deletionscompiler/GHC/Cmm/Parser.y
- compiler/GHC/Driver/CodeOutput.hs 10 additions, 17 deletionscompiler/GHC/Driver/CodeOutput.hs
- compiler/GHC/Driver/Main.hs 2 additions, 2 deletionscompiler/GHC/Driver/Main.hs
- compiler/GHC/StgToCmm/InfoTableProv.hs 143 additions, 0 deletionscompiler/GHC/StgToCmm/InfoTableProv.hs
- compiler/GHC/StgToCmm/Prof.hs 13 additions, 40 deletionscompiler/GHC/StgToCmm/Prof.hs
- compiler/ghc.cabal.in 1 addition, 0 deletionscompiler/ghc.cabal.in
- libraries/base/Foreign/C/String.hs 1 addition, 10 deletionslibraries/base/Foreign/C/String.hs
- libraries/base/GHC/Conc/Sync.hs 0 additions, 17 deletionslibraries/base/GHC/Conc/Sync.hs
- libraries/base/GHC/Exception.hs 13 additions, 33 deletionslibraries/base/GHC/Exception.hs
- libraries/base/GHC/Exception/Backtrace.hs 90 additions, 0 deletionslibraries/base/GHC/Exception/Backtrace.hs
- libraries/base/GHC/Exception/Backtrace.hs-boot 11 additions, 0 deletionslibraries/base/GHC/Exception/Backtrace.hs-boot
- libraries/base/GHC/Exception/Context.hs 59 additions, 0 deletionslibraries/base/GHC/Exception/Context.hs
- libraries/base/GHC/Exception/Context.hs-boot 6 additions, 0 deletionslibraries/base/GHC/Exception/Context.hs-boot
- libraries/base/GHC/Exception/Type.hs 30 additions, 5 deletionslibraries/base/GHC/Exception/Type.hs
- libraries/base/GHC/ExecutionStack.hs 3 additions, 1 deletionlibraries/base/GHC/ExecutionStack.hs
- libraries/base/GHC/ExecutionStack.hs-boot 8 additions, 0 deletionslibraries/base/GHC/ExecutionStack.hs-boot
- libraries/base/GHC/ExecutionStack/Internal.hsc 8 additions, 1 deletionlibraries/base/GHC/ExecutionStack/Internal.hsc
- libraries/base/GHC/Foreign.hs 5 additions, 1 deletionlibraries/base/GHC/Foreign.hs
- libraries/base/GHC/IO.hs 6 additions, 2 deletionslibraries/base/GHC/IO.hs
compiler/GHC/StgToCmm/InfoTableProv.hs
0 → 100644
libraries/base/GHC/Exception/Backtrace.hs
0 → 100644
libraries/base/GHC/Exception/Context.hs
0 → 100644
libraries/base/GHC/Exception/Context.hs-boot
0 → 100644
libraries/base/GHC/ExecutionStack.hs-boot
0 → 100644