Make globals use sharedCAF
authorMoritz Angermann <moritz.angermann@gmail.com>
Sun, 11 Dec 2016 11:32:28 +0000 (11:32 +0000)
committerTamar Christina <tamar@zhox.com>
Sun, 11 Dec 2016 15:29:17 +0000 (15:29 +0000)
commitc3c702441137dc8f7ee0dd5ac313be96d625459a
treea59633ac90b97a7df7c09db560bf8030c15ebf2e
parent490b9429a8ed3c55d17bf0964fb14582eb206a3d
Make globals use sharedCAF

Summary:
The use of globals is quite painful when multiple rts are loaded, e.g.
when plugins are loaded, which bring in a second rts. The sharedCAF
appraoch was employed for the FastStringTable; I've taken the libery
to extend this to the other globals I could find.

This is a reboot of D2575, that should hopefully not exhibit the same
windows build issues.

Reviewers: Phyx, simonmar, goldfire, bgamari, austin, hvr, erikd

Reviewed By: Phyx, simonmar, bgamari

Subscribers: mpickering, thomie

Differential Revision: https://phabricator.haskell.org/D2773
15 files changed:
compiler/HsVersions.h
compiler/ghci/Linker.hs
compiler/main/DynFlags.hs
compiler/main/StaticFlags.hs
compiler/simplCore/CoreMonad.hs
compiler/utils/FastString.hs
compiler/utils/Util.hs
docs/users_guide/extending_ghc.rst
includes/rts/Globals.h
libraries/base/GHC/Conc/Sync.hs
rts/Globals.c
rts/RtsSymbols.c
testsuite/tests/plugins/LinkerTicklingPlugin.hs
testsuite/tests/plugins/annotation-plugin/SayAnnNames.hs
testsuite/tests/simplCore/should_compile/T7702plugin/T7702Plugin.hs