- lits = [ zero,
- mkCCostCentre cc,
- zero, -- struct _CostCentreStack *prevStack;
- zero, -- struct _IndexTable *indexTable;
- zero, -- StgWord selected;
- zero64, -- StgWord64 scc_count;
- zero, -- StgWord time_ticks;
- zero64, -- StgWord64 mem_alloc;
- zero, -- StgWord inherited_ticks;
- zero64, -- StgWord64 inherited_alloc;
- zero -- CostCentre *root;
- ]
+ -- Note: to avoid making any assumptions about how the
+ -- C compiler (that compiles the RTS, in particular) does
+ -- layouts of structs containing long-longs, simply
+ -- pad out the struct with zero words until we hit the
+ -- size of the overall struct (which we get via DerivedConstants.h)
+ --
+ lits = zero : mkCCostCentre cc : replicate (sizeof_ccs_words - 2) zero