[commit: ghc] ghc-8.0: Tag pointers in interpreted constructors (062b462)

git at git.haskell.org git at git.haskell.org
Thu Sep 1 14:02:11 UTC 2016


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

On branch  : ghc-8.0
Link       : http://ghc.haskell.org/trac/ghc/changeset/062b462ba88a493fa12377a11960e8bed2f56781/ghc

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

commit 062b462ba88a493fa12377a11960e8bed2f56781
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
    
    (cherry picked from commit a25bf2673d0f6db5f454619ddf91f974cace4e8b)


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

062b462ba88a493fa12377a11960e8bed2f56781
 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 062b462ba88a493fa12377a11960e8bed2f56781


More information about the ghc-commits mailing list