replace sparc-specific Int64 code with calls to platform-independent macros
[ghc-hetmet.git] / includes / Block.h
index e2e691a..ec894da 100644 (file)
@@ -84,12 +84,16 @@ typedef struct bdescr_ {
 #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 -------------------------- */
 
@@ -254,5 +258,14 @@ round_to_mblocks(StgWord words)
     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 */