Trac #9878: Have StaticPointers support dynamic loading.
Summary: A mutex is used to protect the SPT. unsafeLookupStaticPtr and staticPtrKeys in GHC.StaticPtr are made monadic. SPT entries are removed in a destructor function of modules. Authored-by:Facundo Domínguez <facundo.dominguez@tweag.io> Authored-by:
Alexander Vershilov <alexander.vershilov@tweag.io> Test Plan: ./validate Reviewers: austin, simonpj, hvr Subscribers: carter, thomie, qnikst, mboes Differential Revision: https://phabricator.haskell.org/D587 GHC Trac Issues: #9878 (cherry picked from commit 7637810a)
Showing
- compiler/deSugar/StaticPtrTable.hs 23 additions, 0 deletionscompiler/deSugar/StaticPtrTable.hs
- includes/rts/StaticPtrTable.h 8 additions, 0 deletionsincludes/rts/StaticPtrTable.h
- libraries/base/GHC/StaticPtr.hs 14 additions, 19 deletionslibraries/base/GHC/StaticPtr.hs
- rts/Linker.c 1 addition, 0 deletionsrts/Linker.c
- rts/StaticPtrTable.c 54 additions, 7 deletionsrts/StaticPtrTable.c
- testsuite/tests/codeGen/should_run/CgStaticPointers.hs 6 additions, 5 deletionstestsuite/tests/codeGen/should_run/CgStaticPointers.hs
- testsuite/tests/rts/GcStaticPointers.hs 1 addition, 1 deletiontestsuite/tests/rts/GcStaticPointers.hs
- testsuite/tests/rts/ListStaticPointers.hs 6 additions, 4 deletionstestsuite/tests/rts/ListStaticPointers.hs
Loading
Please register or sign in to comment