summaryrefslogtreecommitdiff
path: root/compiler/main/DriverPipeline.hs
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2017-02-01 23:39:52 -0500
committerBen Gamari <ben@smart-cactus.org>2017-02-02 00:18:58 -0500
commiteedb3df0c1c28a7abc43705d614239c1c6199a1f (patch)
tree32045d426c9ecd4b07d74871d65d3e605842672d /compiler/main/DriverPipeline.hs
parentb16239a95b730dd2d6fc0dbb18c8430669f2c187 (diff)
downloadhaskell-eedb3df0c1c28a7abc43705d614239c1c6199a1f.tar.gz
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
Diffstat (limited to 'compiler/main/DriverPipeline.hs')
-rw-r--r--compiler/main/DriverPipeline.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
index 08af37cdda..463b715807 100644
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -182,7 +182,8 @@ compileOne' m_tc_result mHscMessage
let linkable = LM o_time this_mod [DotO object_filename]
return hmi0 { hm_linkable = Just linkable }
(HscRecomp cgguts summary, HscInterpreted) -> do
- (hasStub, comp_bc) <- hscInteractive hsc_env cgguts summary
+ (hasStub, comp_bc, spt_entries) <-
+ hscInteractive hsc_env cgguts summary
stub_o <- case hasStub of
Nothing -> return []
@@ -190,7 +191,7 @@ compileOne' m_tc_result mHscMessage
stub_o <- compileStub hsc_env stub_c
return [DotO stub_o]
- let hs_unlinked = [BCOs comp_bc]
+ let hs_unlinked = [BCOs comp_bc spt_entries]
unlinked_time = ms_hs_date summary
-- Why do we use the timestamp of the source file here,
-- rather than the current time? This works better in