[commit: ghc] master: Remove CONSTR_STATIC (55d535d)

git at git.haskell.org git at git.haskell.org
Mon Nov 14 14:43:51 UTC 2016


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

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

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

commit 55d535da10dd63bbaf03fb176ced7179087cd0d4
Author: Simon Marlow <marlowsd at gmail.com>
Date:   Wed Nov 9 09:20:02 2016 +0000

    Remove CONSTR_STATIC
    
    Summary:
    We currently have two info tables for a constructor
    
    * XXX_con_info: the info table for a heap-resident instance of the
      constructor, It has type CONSTR, or one of the specialised types like
      CONSTR_1_0
    
    * XXX_static_info: the info table for a static instance of this
      constructor, which has type CONSTR_STATIC or CONSTR_STATIC_NOCAF.
    
    I'm getting rid of the latter, and using the `con_info` info table for
    both static and dynamic constructors.  For rationale and more details
    see Note [static constructors] in SMRep.hs.
    
    I also removed these macros: `isSTATIC()`, `ip_STATIC()`,
    `closure_STATIC()`, since they relied on the CONSTR/CONSTR_STATIC
    distinction, and anyway HEAP_ALLOCED() does the same job.
    
    Test Plan: validate
    
    Reviewers: bgamari, simonpj, austin, gcampax, hvr, niteria, erikd
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D2690
    
    GHC Trac Issues: #12455


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

55d535da10dd63bbaf03fb176ced7179087cd0d4
 compiler/cmm/CLabel.hs              |  19 ------
 compiler/cmm/SMRep.hs               |  54 +++++++++++----
 compiler/codeGen/StgCmm.hs          |  52 ++++++--------
 compiler/codeGen/StgCmmClosure.hs   |  14 +---
 compiler/ghci/RtClosureInspect.hs   |   2 +-
 docs/rts/rts.tex                    |   2 -
 includes/rts/storage/ClosureTypes.h | 131 ++++++++++++++++++-----------------
 includes/rts/storage/InfoTables.h   |  16 ++---
 rts/CheckUnload.c                   |   3 +-
 rts/ClosureFlags.c                  | 133 ++++++++++++++++++------------------
 rts/Interpreter.c                   |   3 +-
 rts/LdvProfile.c                    |   3 +-
 rts/Prelude.h                       |  33 ---------
 rts/Printer.c                       |   6 +-
 rts/ProfHeap.c                      |   6 +-
 rts/Profiling.c                     |   3 +-
 rts/RetainerProfile.c               |  33 ++++-----
 rts/StgMiscClosures.cmm             |  38 +++++------
 rts/sm/CNF.c                        |  12 ++--
 rts/sm/Compact.c                    |   9 ++-
 rts/sm/Evac.c                       |  13 ++--
 rts/sm/GCAux.c                      |   2 +-
 rts/sm/Sanity.c                     |  22 ++----
 rts/sm/Scav.c                       |  11 ++-
 24 files changed, 281 insertions(+), 339 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 55d535da10dd63bbaf03fb176ced7179087cd0d4


More information about the ghc-commits mailing list