Add support for StaticPointers in GHCi
authorBen Gamari <bgamari.foss@gmail.com>
Thu, 2 Feb 2017 04:39:52 +0000 (23:39 -0500)
committerBen Gamari <ben@smart-cactus.org>
Thu, 2 Feb 2017 05:18:58 +0000 (00:18 -0500)
commiteedb3df0c1c28a7abc43705d614239c1c6199a1f
tree32045d426c9ecd4b07d74871d65d3e605842672d
parentb16239a95b730dd2d6fc0dbb18c8430669f2c187
Add support for StaticPointers in GHCi

Here we add support to GHCi for StaticPointers. This process begins by
adding remote GHCi messages for adding entries to the static pointer
table. We then collect binders needing SPT entries after linking and
send the interpreter a message adding entries with the appropriate
fingerprints.

Test Plan: `make test TEST=StaticPtr`

Reviewers: facundominguez, mboes, simonpj, simonmar, goldfire, austin,
hvr, erikd

Reviewed By: simonpj, simonmar

Subscribers: RyanGlScott, simonpj, thomie

Differential Revision: https://phabricator.haskell.org/D2504

GHC Trac Issues: #12356
25 files changed:
compiler/ghci/GHCi.hsc
compiler/main/DriverPipeline.hs
compiler/main/GHC.hs
compiler/main/GhcMake.hs
compiler/main/HscMain.hs
compiler/main/HscTypes.hs
compiler/main/InteractiveEval.hs
compiler/main/StaticPtrTable.hs
compiler/main/TidyPgm.hs
compiler/rename/RnExpr.hs
docs/users_guide/8.2.1-notes.rst
docs/users_guide/glasgow_exts.rst
includes/rts/StaticPtrTable.h
libraries/ghci/GHCi/Message.hs
libraries/ghci/GHCi/Run.hs
libraries/ghci/GHCi/StaticPtrTable.hs [new file with mode: 0644]
libraries/ghci/ghci.cabal.in
rts/RtsSymbols.c
rts/StaticPtrTable.c
testsuite/tests/ghci/scripts/StaticPtr.hs [new file with mode: 0644]
testsuite/tests/ghci/scripts/StaticPtr.script [new file with mode: 0644]
testsuite/tests/ghci/scripts/StaticPtr.stderr [new file with mode: 0644]
testsuite/tests/ghci/scripts/StaticPtr.stdout [new file with mode: 0644]
testsuite/tests/ghci/scripts/T9878.stderr
testsuite/tests/ghci/scripts/all.T