2010-12-03 05:34:57 +01:00
|
|
|
#include <errno.h>
|
|
|
|
|
|
|
|
#include "runtime.h"
|
|
|
|
#include "malloc.h"
|
|
|
|
|
|
|
|
void*
|
|
|
|
runtime_SysAlloc(uintptr n)
|
|
|
|
{
|
|
|
|
void *p;
|
|
|
|
|
|
|
|
mstats.sys += n;
|
|
|
|
errno = posix_memalign(&p, PageSize, n);
|
|
|
|
if (errno > 0) {
|
|
|
|
perror("posix_memalign");
|
|
|
|
exit(2);
|
|
|
|
}
|
|
|
|
return p;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
runtime_SysUnused(void *v, uintptr n)
|
|
|
|
{
|
|
|
|
USED(v);
|
|
|
|
USED(n);
|
|
|
|
// TODO(rsc): call madvise MADV_DONTNEED
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
runtime_SysFree(void *v, uintptr n)
|
|
|
|
{
|
|
|
|
mstats.sys -= n;
|
|
|
|
free(v);
|
|
|
|
}
|
|
|
|
|
2011-03-17 00:05:44 +01:00
|
|
|
void*
|
|
|
|
runtime_SysReserve(void *v, uintptr n)
|
|
|
|
{
|
|
|
|
return runtime_SysAlloc(n);
|
|
|
|
}
|
|
|
|
|
2010-12-03 05:34:57 +01:00
|
|
|
void
|
2011-03-17 00:05:44 +01:00
|
|
|
runtime_SysMap(void *v, uintptr n)
|
2010-12-03 05:34:57 +01:00
|
|
|
{
|
|
|
|
}
|