summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2020-01-26 09:29:57 +0000
committerMatthew Pickering <matthewtpickering@gmail.com>2020-01-26 13:53:11 +0000
commit76d0ae0dd7215caca592c711d1c6a7584349a2fe (patch)
treed1553e0e92b411ac1da7ef7df18dc434b25c95aa
parentb3e5c678851ed73897b0eb337e656ff377d242c9 (diff)
downloadhaskell-wip/blockh-cpp.tar.gz
Make Block.h compile with c++ compilerswip/blockh-cpp
-rw-r--r--includes/rts/storage/Block.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/includes/rts/storage/Block.h b/includes/rts/storage/Block.h
index 4afc3689cb..626cddb2a2 100644
--- a/includes/rts/storage/Block.h
+++ b/includes/rts/storage/Block.h
@@ -84,10 +84,18 @@
// freely modified.
#if !defined(CMINUSMINUS)
+
+
+struct NonmovingSegmentInfo {
+ StgWord8 log_block_size;
+ StgWord16 next_free_snap;
+};
+
typedef struct bdescr_ {
StgPtr start; // [READ ONLY] start addr of memory
+
union {
StgPtr free; // First free byte of memory.
// allocGroup() sets this to the value of start.
@@ -100,10 +108,7 @@ typedef struct bdescr_ {
// indicate that a block is unallocated.
//
// Unused by the non-moving allocator.
- struct NonmovingSegmentInfo {
- StgWord8 log_block_size;
- StgWord16 next_free_snap;
- } nonmoving_segment;
+ struct NonmovingSegmentInfo nonmoving_segment;
};
struct bdescr_ *link; // used for chaining blocks together