Fix Trac #5028: zap occ info when doing the binder swap
[ghc-hetmet.git] / includes / rts / storage / InfoTables.h
index 4596ce2..cbfb032 100644 (file)
@@ -214,6 +214,10 @@ typedef union {
  */
 typedef struct StgInfoTable_ {
 
+#ifndef TABLES_NEXT_TO_CODE
+    StgFunPtr       entry;     /* pointer to the entry code */
+#endif
+
 #ifdef PROFILING
     StgProfInfo     prof;
 #endif
@@ -227,7 +231,12 @@ typedef struct StgInfoTable_ {
     StgClosureInfo  layout;    /* closure layout info (one word) */
 
     StgHalfWord     type;      /* closure type */
-    StgHalfWord     srt_bitmap;    /* number of entries in SRT (or constructor tag) */
+    StgHalfWord     srt_bitmap;
+       /* In a CONSTR:
+            - the constructor tag
+          In a FUN/THUNK
+            - a bitmap of SRT entries
+       */
 
 #ifdef TABLES_NEXT_TO_CODE
     StgCode         code[FLEXIBLE_ARRAY];
@@ -281,6 +290,9 @@ typedef struct {
 #endif
 } StgFunInfoTable;
 
+// canned bitmap for each arg type, indexed by constants in FunTypes.h
+extern StgWord stg_arg_bitmaps[];
+
 /* -----------------------------------------------------------------------------
    Return info tables
    -------------------------------------------------------------------------- */