diff options
author | rumpf_a@web.de <> | 2009-10-21 10:20:15 +0200 |
---|---|---|
committer | rumpf_a@web.de <> | 2009-10-21 10:20:15 +0200 |
commit | 053309e60aee1eda594a4817ac8ac2fb8c18fb04 (patch) | |
tree | 0f1ce8b0de0b493045eb97eeca6ebf06542de601 /lib/system/mm.nim | |
parent | 581572b28c65bc9fe47974cfd625210a69be0f3f (diff) | |
download | Nim-053309e60aee1eda594a4817ac8ac2fb8c18fb04.tar.gz |
version 0.8.2
Diffstat (limited to 'lib/system/mm.nim')
-rwxr-xr-x | lib/system/mm.nim | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/lib/system/mm.nim b/lib/system/mm.nim index 9e207fcf0..76b5d83bd 100755 --- a/lib/system/mm.nim +++ b/lib/system/mm.nim @@ -130,17 +130,22 @@ when defined(boehmgc): include "system/cellsets" elif defined(nogc): - proc alloc(size: int): pointer = - result = c_malloc(size) - if result == nil: raiseOutOfMem() - proc alloc0(size: int): pointer = - result = alloc(size) - zeroMem(result, size) - proc realloc(p: Pointer, newsize: int): pointer = - result = c_realloc(p, newsize) - if result == nil: raiseOutOfMem() - proc dealloc(p: Pointer) = - c_free(p) + include "system/alloc" + + when false: + proc alloc(size: int): pointer = + result = c_malloc(size) + if result == nil: raiseOutOfMem() + proc alloc0(size: int): pointer = + result = alloc(size) + zeroMem(result, size) + proc realloc(p: Pointer, newsize: int): pointer = + result = c_realloc(p, newsize) + if result == nil: raiseOutOfMem() + proc dealloc(p: Pointer) = c_free(p) + proc getOccupiedMem(): int = return -1 + proc getFreeMem(): int = return -1 + proc getTotalMem(): int = return -1 proc initGC() = nil proc GC_disable() = nil @@ -151,10 +156,7 @@ elif defined(nogc): proc GC_disableMarkAndSweep() = nil proc GC_getStatistics(): string = return "" - proc getOccupiedMem(): int = return -1 - proc getFreeMem(): int = return -1 - proc getTotalMem(): int = return -1 - + proc newObj(typ: PNimType, size: int): pointer {.compilerproc.} = result = alloc0(size) proc newSeq(typ: PNimType, len: int): pointer {.compilerproc.} = @@ -163,7 +165,6 @@ elif defined(nogc): cast[PGenericSeq](result).space = len proc growObj(old: pointer, newsize: int): pointer = result = realloc(old, newsize) - # XXX BUG: we need realloc0 here, but C does not support this... proc setStackBottom(theStackBottom: pointer) {.compilerproc.} = nil proc nimGCref(p: pointer) {.compilerproc, inline.} = nil |