Changing internal data structures used by Hpc
[ghc-hetmet.git] / includes / InfoTables.h
index ea01abf..67bd97b 100644 (file)
@@ -353,7 +353,6 @@ typedef struct {
 #else
     StgInfoTable i;
     StgSRT      *srt;  /* pointer to the SRT table */
-    StgFunPtr vector[FLEXIBLE_ARRAY];
 #endif
 } StgRetInfoTable;
 
@@ -389,7 +388,8 @@ typedef struct _StgConInfoTable {
     StgInfoTable i;
 #endif
 
-char *con_desc;  /* the name of the data constructor as: Package:Module.Name */
+    OFFSET_FIELD(con_desc) // the name of the data constructor 
+                           // as: Package:Module.Name
 
 #if defined(TABLES_NEXT_TO_CODE)
     StgInfoTable i;
@@ -412,6 +412,16 @@ char *con_desc;  /* the name of the data constructor as: Package:Module.Name */
 #endif
 
 /*
+ * GET_CON_DESC(info)
+ * info must be a StgConInfoTable*.
+ */
+#ifdef TABLES_NEXT_TO_CODE
+#define GET_CON_DESC(info) ((char *)((StgWord)((info)+1) + (info->con_desc)))
+#else
+#define GET_CON_DESC(info) ((info)->con_desc)
+#endif
+
+/*
  * GET_FUN_SRT(info)
  * info must be a StgFunInfoTable*
  */