- Make use of the fact that we know how the chunks are aligned, and
authorotto <otto@openbsd.org>
Thu, 25 Feb 2021 15:20:18 +0000 (15:20 +0000)
committerotto <otto@openbsd.org>
Thu, 25 Feb 2021 15:20:18 +0000 (15:20 +0000)
commit19aed9fc1bc211bc77ba2c7c4b875067ff9ef027
tree7583b34fee0e3dabf4f9fa261a3d1c68307c1964
parentbe30614a42262504dcebc7e589ebbcaabaee4312
- Make use of the fact that we know how the chunks are aligned, and
write 8 bytes at the time by using a uint64_t pointer. For an
allocation a max of 4 such uint64_t's are written spread over the
allocation. For pages sized and larger, the first page is junked in
such a way.
- Delayed free of a small chunk checks the corresponiding way.
- Pages ending up in the cache are validated upon unmapping or re-use.
In snaps for a while
lib/libc/stdlib/malloc.3
lib/libc/stdlib/malloc.c