mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-06 03:08:31 +00:00
Simplify memory manager
This commit is contained in:
parent
5a9a08d1cf
commit
01587de761
40 changed files with 451 additions and 311 deletions
|
@ -497,18 +497,18 @@ static void *NewBoard(size_t *out_size) {
|
|||
char *p;
|
||||
size_t s, n, k;
|
||||
s = (byn * bxn) >> 3;
|
||||
k = getauxval(AT_PAGESZ) + ROUNDUP(s, getauxval(AT_PAGESZ));
|
||||
n = ROUNDUP(k + getauxval(AT_PAGESZ), sysconf(_SC_PAGESIZE));
|
||||
k = getpagesize() + ROUNDUP(s, getpagesize());
|
||||
n = ROUNDUP(k + getpagesize(), sysconf(_SC_PAGESIZE));
|
||||
p = _mapanon(n);
|
||||
mprotect(p, getauxval(AT_PAGESZ), 0);
|
||||
mprotect(p, getpagesize(), 0);
|
||||
mprotect(p + k, n - k, 0);
|
||||
if (out_size)
|
||||
*out_size = n;
|
||||
return p + getauxval(AT_PAGESZ);
|
||||
return p + getpagesize();
|
||||
}
|
||||
|
||||
static void FreeBoard(void *p, size_t n) {
|
||||
munmap((char *)p - getauxval(AT_PAGESZ), n);
|
||||
munmap((char *)p - getpagesize(), n);
|
||||
}
|
||||
|
||||
static void AllocateBoardsWithHardwareAcceleratedMemorySafety(void) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue