Skip to content
  • Simon Marlow's avatar
    Remove CONSTR_STATIC · 55d535da
    Simon Marlow authored
    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
    55d535da