summaryrefslogtreecommitdiff
path: root/rts/posix
diff options
context:
space:
mode:
authorErik de Castro Lopo <erikd@mega-nerd.com>2016-05-24 19:26:56 +1000
committerErik de Castro Lopo <erikd@mega-nerd.com>2016-05-25 07:32:09 +1000
commitfe8a4e5d77ef8b2bdb2e7e87d50eb477c94bce43 (patch)
tree36b0c877bce4ecc04beb8dccc60f1209c1692dc1 /rts/posix
parent95dfdceb8b4dcc54a366949577d9ee389bad5bc3 (diff)
downloadhaskell-fe8a4e5d77ef8b2bdb2e7e87d50eb477c94bce43.tar.gz
Runtime linker: Break m32 allocator out into its own file
This makes the code a little more modular and allows the removal of some CPP hackery. By providing dummy implementations of of the `m32_*` functions (which simply call `errorBelch`) it means that the call sites for these functions are syntax checked even when `RTS_LINKER_USE_MMAP` is `0`. Also changes some size parameter types from `unsigned int` to `size_t`. Test Plan: Validate on Linux, OS X and Windows Reviewers: Phyx, hsyl20, bgamari, simonmar, austin Reviewed By: simonmar, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2237
Diffstat (limited to 'rts/posix')
-rw-r--r--rts/posix/OSMem.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/rts/posix/OSMem.c b/rts/posix/OSMem.c
index 5c997ababb..5ff4bc86e4 100644
--- a/rts/posix/OSMem.c
+++ b/rts/posix/OSMem.c
@@ -315,20 +315,20 @@ void osFreeAllMBlocks(void)
}
}
-W_ getPageSize (void)
+size_t getPageSize (void)
{
- static W_ pageSize = 0;
- if (pageSize) {
- return pageSize;
- } else {
+ static size_t pageSize = 0;
+
+ if (pageSize == 0) {
long ret;
ret = sysconf(_SC_PAGESIZE);
if (ret == -1) {
barf("getPageSize: cannot get page size");
}
pageSize = ret;
- return ret;
}
+
+ return pageSize;
}
/* Returns 0 if physical memory size cannot be identified */