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
Showing
- compiler/cmm/CLabel.hs 0 additions, 19 deletionscompiler/cmm/CLabel.hs
- compiler/cmm/SMRep.hs 41 additions, 13 deletionscompiler/cmm/SMRep.hs
- compiler/codeGen/StgCmm.hs 21 additions, 31 deletionscompiler/codeGen/StgCmm.hs
- compiler/codeGen/StgCmmClosure.hs 2 additions, 12 deletionscompiler/codeGen/StgCmmClosure.hs
- compiler/ghci/RtClosureInspect.hs 1 addition, 1 deletioncompiler/ghci/RtClosureInspect.hs
- docs/rts/rts.tex 0 additions, 2 deletionsdocs/rts/rts.tex
- includes/rts/storage/ClosureTypes.h 65 additions, 66 deletionsincludes/rts/storage/ClosureTypes.h
- includes/rts/storage/InfoTables.h 6 additions, 10 deletionsincludes/rts/storage/InfoTables.h
- rts/CheckUnload.c 2 additions, 1 deletionrts/CheckUnload.c
- rts/ClosureFlags.c 66 additions, 67 deletionsrts/ClosureFlags.c
- rts/Interpreter.c 1 addition, 2 deletionsrts/Interpreter.c
- rts/LdvProfile.c 1 addition, 2 deletionsrts/LdvProfile.c
- rts/Prelude.h 0 additions, 33 deletionsrts/Prelude.h
- rts/Printer.c 2 additions, 4 deletionsrts/Printer.c
- rts/ProfHeap.c 3 additions, 3 deletionsrts/ProfHeap.c
- rts/Profiling.c 1 addition, 2 deletionsrts/Profiling.c
- rts/RetainerProfile.c 14 additions, 19 deletionsrts/RetainerProfile.c
- rts/StgMiscClosures.cmm 17 additions, 21 deletionsrts/StgMiscClosures.cmm
- rts/sm/CNF.c 4 additions, 8 deletionsrts/sm/CNF.c
- rts/sm/Compact.c 8 additions, 1 deletionrts/sm/Compact.c
Loading
Please register or sign in to comment