diff options
Diffstat (limited to 'rts/Globals.c')
-rw-r--r-- | rts/Globals.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/rts/Globals.c b/rts/Globals.c index 1aafe21879..2e4b99474f 100644 --- a/rts/Globals.c +++ b/rts/Globals.c @@ -7,8 +7,13 @@ * even when multiple versions of the library are loaded. e.g. see * Data.Typeable and GHC.Conc. * - * If/when we switch to a dynamically-linked GHCi, this can all go - * away, because there would be just one copy of each library. + * How are multiple versions of a library loaded? Examples: + * + * base - a statically-linked ghci has its own copy, so might libraries it + * dynamically loads + * + * libHSghc - a statically-linked ghc has its own copy and so will Core + * plugins it dynamically loads (cf CoreMonad.reinitializeGlobals) * * ---------------------------------------------------------------------------*/ @@ -27,6 +32,7 @@ typedef enum { SystemEventThreadIOManagerThreadStore, SystemTimerThreadEventManagerStore, SystemTimerThreadIOManagerThreadStore, + LibHSghcFastStringTable, MaxStoreKey } StoreKey; @@ -128,3 +134,9 @@ getOrSetSystemTimerThreadIOManagerThreadStore(StgStablePtr ptr) { return getOrSetKey(SystemTimerThreadIOManagerThreadStore,ptr); } + +StgStablePtr +getOrSetLibHSghcFastStringTable(StgStablePtr ptr) +{ + return getOrSetKey(LibHSghcFastStringTable,ptr); +} |