*/
typedef struct StgInfoTable_ {
+#ifndef TABLES_NEXT_TO_CODE
+ StgFunPtr entry; /* pointer to the entry code */
+#endif
+
#ifdef PROFILING
StgProfInfo prof;
#endif
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];
#endif
} StgFunInfoTable;
+// canned bitmap for each arg type, indexed by constants in FunTypes.h
+extern StgWord stg_arg_bitmaps[];
+
/* -----------------------------------------------------------------------------
Return info tables
-------------------------------------------------------------------------- */