From f5ed8f3a1b1b23af2b06ba9d6fc4e4bc80e1f4cf Mon Sep 17 00:00:00 2001 From: Jostein Berre Eliassen Date: Tue, 20 May 2014 00:44:16 +0200 Subject: added getTotalSharedMem et al. --- lib/system/alloc.nim | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lib/system') diff --git a/lib/system/alloc.nim b/lib/system/alloc.nim index eaef6cd95..602e5c7fa 100644 --- a/lib/system/alloc.nim +++ b/lib/system/alloc.nim @@ -835,4 +835,20 @@ template instantiateForRegion(allocator: expr) = else: result = realloc(p, newsize) + when hasThreadSupport: + + template sharedMemStatsShared(v: int) {.immediate.} = + acquireSys(heapLock) + result = v + releaseSys(heapLock) + + proc getFreeSharedMem(): int = + sharedMemStatsShared(sharedHeap.freeMem) + + proc getTotalSharedMem(): int = + sharedMemStatsShared(sharedHeap.currMem) + + proc getOccupiedSharedMem(): int = + sharedMemStatsShared(sharedHeap.currMem - sharedHeap.freeMem) + {.pop.} -- cgit 1.4.1-2-gfad0