diff options
Diffstat (limited to 'lib/system/alloc.nim')
-rw-r--r-- | lib/system/alloc.nim | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/system/alloc.nim b/lib/system/alloc.nim index a124d7537..f28a124d2 100644 --- a/lib/system/alloc.nim +++ b/lib/system/alloc.nim @@ -292,10 +292,15 @@ proc writeFreeList(a: MemRegion) = it, it.next, it.prev, it.size) it = it.next +const nimMaxHeap {.intdefine.} = 0 + proc requestOsChunks(a: var MemRegion, size: int): PBigChunk = when not defined(emscripten): if not a.blockChunkSizeIncrease: let usedMem = a.currMem # - a.freeMem + when nimMaxHeap != 0: + if usedMem > nimMaxHeap * 1024 * 1024: + raiseOutOfMem() if usedMem < 64 * 1024: a.nextChunkSize = PageSize*4 else: |