ref: 52f3611a79a3c494525e9a80a2e4709729782e0d
parent: b3fc7da382866c42c479bba974c1c7f72fb4b684
author: Ori Bernstein <[email protected]>
date: Wed Jul 25 10:02:24 EDT 2012
Unmap unused and uncached slabs.
--- a/alloc.myr
+++ b/alloc.myr
@@ -60,7 +60,7 @@
;;
if (sz <= Bucketmax)
- bkt = &buckets[bucketnum(sz)]
+ bkt = &buckets[bktnum(sz)]
-> bktalloc(bkt)
else
-> mmap(Zbyte, sz, Mprotrw, Mpriv | Manon, -1, 0)
@@ -71,7 +71,7 @@
var bkt
if (sz < Bucketmax)
- bkt = &buckets[bucketnum(sz)]
+ bkt = &buckets[bktnum(sz)]
bktfree(bkt, m)
else
munmap(m, sz)
@@ -159,7 +159,7 @@
s.next = bkt.cache
bkt.cache = s
else
- delslab(s)
+ munmap(s castto(byte*), Pagesz)
;;
;;
s.nfree++
@@ -167,11 +167,7 @@
s.freehd = b
}
-const delslab = {s : slab*
-
-}
-
-const bucketnum = {sz
+const bktnum = {sz
var i
var bktsz