[commit: ghc] master: Tag pointers in interpreted constructors (a25bf26)

git at git.haskell.org git at git.haskell.org
Wed Aug 31 17:19:12 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/a25bf2673d0f6db5f454619ddf91f974cace4e8b/ghc

>---------------------------------------------------------------

commit a25bf2673d0f6db5f454619ddf91f974cace4e8b
Author: mniip <mniip at mniip.com>
Date:   Tue Aug 30 16:57:47 2016 -0400

    Tag pointers in interpreted constructors
    
    Instead of stg_interp_constr_entry there are now 7 functions (one for
    each value of the tag bits) that tag the constructor pointer before
    returning. This is consistent with compiled constructors' entry code,
    and expectations that compiled code places on compiled constructors. The
    iserv protocol is extended with an extra field that explains what
    pointer tag the constructor should use.
    
    Test Plan: Added tests for #12523
    
    Reviewers: erikd, bgamari, hvr, austin, simonmar
    
    Reviewed By: simonmar
    
    Subscribers: osa1, thomie, rwbarton
    
    Differential Revision: https://phabricator.haskell.org/D2473
    
    GHC Trac Issues: #12523


>---------------------------------------------------------------

a25bf2673d0f6db5f454619ddf91f974cace4e8b
 compiler/ghci/ByteCodeItbls.hs             |  4 +++-
 includes/stg/MiscClosures.h                |  8 +++++++-
 libraries/ghci/GHCi/InfoTable.hsc          | 24 ++++++++++++++++++++----
 libraries/ghci/GHCi/Message.hs             |  5 +++--
 libraries/ghci/GHCi/Run.hs                 |  4 ++--
 rts/RtsSymbols.c                           |  8 +++++++-
 rts/StgMiscClosures.cmm                    | 13 ++++++++-----
 testsuite/tests/ghci/scripts/T12523.hs     | 28 ++++++++++++++++++++++++++++
 testsuite/tests/ghci/scripts/T12523.script | 18 ++++++++++++++++++
 testsuite/tests/ghci/scripts/T12523.stdout |  8 ++++++++
 testsuite/tests/ghci/scripts/all.T         |  1 +
 11 files changed, 105 insertions(+), 16 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc a25bf2673d0f6db5f454619ddf91f974cace4e8b


More information about the ghc-commits mailing list