diff options
author | Erik de Castro Lopo <erikd@mega-nerd.com> | 2016-05-24 19:26:56 +1000 |
---|---|---|
committer | Erik de Castro Lopo <erikd@mega-nerd.com> | 2016-05-25 07:32:09 +1000 |
commit | fe8a4e5d77ef8b2bdb2e7e87d50eb477c94bce43 (patch) | |
tree | 36b0c877bce4ecc04beb8dccc60f1209c1692dc1 /rts/posix | |
parent | 95dfdceb8b4dcc54a366949577d9ee389bad5bc3 (diff) | |
download | haskell-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.c | 12 |
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 */ |