[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