#define BF_LARGE 2
/* Block is pinned */
#define BF_PINNED 4
-/* Block is part of a compacted generation */
-#define BF_COMPACTED 8
+/* Block is to be marked, not copied */
+#define BF_MARKED 8
/* Block is free, and on the free list (TODO: is this used?) */
#define BF_FREE 16
/* Block is executable */
#define BF_EXEC 32
+/* Block contains only a small amount of live data */
+#define BF_FRAGMENTED 64
+/* we know about this block (for finding leaks) */
+#define BF_KNOWN 128
/* Finding the block descriptor for a given block -------------------------- */
return words;
}
+INLINE_HEADER StgWord
+round_up_to_mblocks(StgWord words)
+{
+ words += FIRST_BLOCK_OFF/sizeof(W_);
+ words = ((words / MBLOCK_SIZE_W) + 1) * MBLOCK_SIZE_W;
+ words -= FIRST_BLOCK_OFF/sizeof(W_);
+ return words;
+}
+
#endif /* !CMINUSMINUS */
#endif /* BLOCK_H */