/* ----------------------------------------------------------------------------
- * $Id: InfoMacros.h,v 1.16 2001/07/24 05:04:58 ken Exp $
+ * $Id: InfoMacros.h,v 1.20 2002/09/25 20:43:34 wolfgang Exp $
*
* (c) The GHC Team, 1998-1999
*
#define PROF_INFO(type_str, desc_str)
#endif
-#ifdef USE_MINIINTERPRETER
-#define INIT_VECTOR {}
-#else
-#define INIT_VECTOR
-#endif
-
/*
On the GranSim/GUM specific parts of the InfoTables (GRAN/PAR):
PROF_INFO(prof_type, prof_descr) \
SRT_INFO(RBH,srt_,srt_off_,srt_len_), \
INCLUDE_RBH_INFO(info), \
- INIT_ENTRY(stg_RBH_##entry), \
- INIT_VECTOR \
+ INIT_ENTRY(stg_RBH_##entry) \
} ; \
StgFunPtr stg_RBH_##entry (void) { \
FB_ \
PROF_INFO(prof_type, prof_descr) \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
INCLUDE_RBH_INFO(stg_RBH_##info), \
- INIT_ENTRY(entry), \
- INIT_VECTOR \
+ INIT_ENTRY(entry) \
}
#else
layout : { payload : {ptrs,nptrs} }, \
PROF_INFO(prof_type, prof_descr) \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
- INIT_ENTRY(entry), \
- INIT_VECTOR \
+ INIT_ENTRY(entry) \
}
#endif
PROF_INFO(prof_type, prof_descr) \
SRT_INFO(RBH,srt_,srt_off_,srt_len_), \
INCLUDE_RBH_INFO(info), \
- INIT_ENTRY(stg_RBH_##entry), \
- INIT_VECTOR \
+ INIT_ENTRY(stg_RBH_##entry) \
}; \
StgFunPtr stg_RBH_##entry (void) { \
FB_ \
PROF_INFO(prof_type, prof_descr) \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
INCLUDE_RBH_INFO(stg_RBH_##info), \
- INIT_ENTRY(entry), \
- INIT_VECTOR \
+ INIT_ENTRY(entry) \
}
#else
layout : { bitmap : (StgWord)bitmap_ }, \
PROF_INFO(prof_type, prof_descr) \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
- INIT_ENTRY(entry), \
- INIT_VECTOR \
+ INIT_ENTRY(entry) \
}
#endif
PROF_INFO(prof_type, prof_descr) \
STD_INFO(RBH), \
INCLUDE_RBH_INFO(info), \
- INIT_ENTRY(stg_RBH_##entry), \
- INIT_VECTOR \
+ INIT_ENTRY(stg_RBH_##entry) \
} ; \
StgFunPtr stg_RBH_##entry (void) { \
FB_ \
PROF_INFO(prof_type, prof_descr) \
STD_INFO(type), \
INCLUDE_RBH_INFO(stg_RBH_##info), \
- INIT_ENTRY(entry), \
- INIT_VECTOR \
+ INIT_ENTRY(entry) \
}
#else
layout : { payload : {ptrs,nptrs} }, \
PROF_INFO(prof_type, prof_descr) \
STD_INFO(type), \
- INIT_ENTRY(entry), \
- INIT_VECTOR \
+ INIT_ENTRY(entry) \
}
#endif
PROF_INFO(prof_type, prof_descr) \
STD_INFO(RBH), \
INCLUDE_RBH_INFO(info), \
- INIT_ENTRY(stg_RBH_##entry), \
- INIT_VECTOR \
+ INIT_ENTRY(stg_RBH_##entry) \
}; \
StgFunPtr stg_RBH_##entry (void) { \
FB_ \
PROF_INFO(prof_type, prof_descr) \
STD_INFO(THUNK_SELECTOR), \
INCLUDE_RBH_INFO(stg_RBH_##info), \
- INIT_ENTRY(entry), \
- INIT_VECTOR \
+ INIT_ENTRY(entry) \
}
#else
layout : { selector_offset : offset }, \
PROF_INFO(prof_type, prof_descr) \
STD_INFO(THUNK_SELECTOR), \
- INIT_ENTRY(entry), \
- INIT_VECTOR \
+ INIT_ENTRY(entry) \
}
#endif
layout : { payload : {ptrs,nptrs} }, \
PROF_INFO(prof_type, prof_descr) \
CONSTR_INFO(type_,tag_), \
- INIT_ENTRY(entry), \
- INIT_VECTOR \
+ INIT_ENTRY(entry) \
}
#define constrTag(con) (get_itbl(con)->srt_len)
info_class INFO_TBL_CONST vec_info_2 info = { \
i : { layout : { bitmap : (StgWord)bitmap_ }, \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
- INIT_ENTRY(NULL), \
+ INIT_ENTRY(NULL) \
}, \
vec : { alt_1, alt_2 } \
}
info_class INFO_TBL_CONST vec_info_3 info = { \
i : { layout : { bitmap : (StgWord)bitmap_ }, \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
- INIT_ENTRY(NULL), \
+ INIT_ENTRY(NULL) \
}, \
vec : { alt_1, alt_2, alt_3 } \
}
info_class INFO_TBL_CONST vec_info_4 info = { \
i : { layout : { bitmap : (StgWord)bitmap_ }, \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
- INIT_ENTRY(NULL), \
+ INIT_ENTRY(NULL) \
}, \
vec : { alt_1, alt_2, alt_3, alt_4 } \
}
info_class INFO_TBL_CONST vec_info_5 info = { \
i : { layout : { bitmap : (StgWord)bitmap_ }, \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
- INIT_ENTRY(NULL), \
+ INIT_ENTRY(NULL) \
}, \
vec : { alt_1, alt_2, alt_3, alt_4, \
alt_5 } \
info_class INFO_TBL_CONST vec_info_6 info = { \
i : { layout : { bitmap : (StgWord)bitmap_ }, \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
- INIT_ENTRY(NULL), \
+ INIT_ENTRY(NULL) \
}, \
vec : { alt_1, alt_2, alt_3, alt_4, \
alt_5, alt_6 } \
info_class INFO_TBL_CONST vec_info_7 info = { \
i : { layout : { bitmap : (StgWord)bitmap_ }, \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
- INIT_ENTRY(NULL), \
+ INIT_ENTRY(NULL) \
}, \
vec : { alt_1, alt_2, alt_3, alt_4, \
alt_5, alt_6, alt_7 } \
info_class INFO_TBL_CONST vec_info_8 info = { \
i : { layout : { bitmap : (StgWord)bitmap_ }, \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
- INIT_ENTRY(NULL), \
+ INIT_ENTRY(NULL) \
}, \
vec : { alt_1, alt_2, alt_3, alt_4, \
alt_5, alt_6, alt_7, alt_8 } \
info_class INFO_TBL_CONST vec_info_8 nm##_info = { \
i : { layout : { bitmap : (StgWord)bitmap_ }, \
SRT_INFO(type,srt_,srt_off_,srt_len_), \
- INIT_ENTRY(nm##_entry), \
- INIT_VECTOR \
+ INIT_ENTRY(nm##_entry) \
}, \
vec : { \
(F_) nm##_0_entry, \
static const StgSRT lbl = {
#define BITMAP(lbl,size,contents) \
- static const StgLargeBitmap lbl = { size, { contents } };
+ static const StgLargeBitmap lbl = { \
+ (size*4+SIZEOF_VOID_P-1)/SIZEOF_VOID_P, { contents } };
#if SIZEOF_VOID_P == 8
#define BITMAP_SWITCH64(small, large) small