separate allocB for mmX
This commit is contained in:
parent
1d5e7212fd
commit
48380be063
@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
// separate memory management system for executable code; isn't garbage-collected
|
// separate memory management system for executable code; isn't garbage-collected
|
||||||
EmptyValue* mmX_buckets[64];
|
EmptyValue* mmX_buckets[64];
|
||||||
|
u64 mmX_allocB;
|
||||||
|
#define allocB mmX_allocB
|
||||||
#define BSZ(X) (1ull<<(X))
|
#define BSZ(X) (1ull<<(X))
|
||||||
#define BSZI(X) ((u8)(64-__builtin_clzl((X)-1ull)))
|
#define BSZI(X) ((u8)(64-__builtin_clzl((X)-1ull)))
|
||||||
#define MMI(X) X
|
#define MMI(X) X
|
||||||
@ -27,6 +29,7 @@ EmptyValue* mmX_buckets[64];
|
|||||||
#define FLAGS MAP_NORESERVE|MAP_PRIVATE|MAP_ANON|MAP_32BIT
|
#define FLAGS MAP_NORESERVE|MAP_PRIVATE|MAP_ANON|MAP_32BIT
|
||||||
#include "../opt/mm_buddyTemplate.c"
|
#include "../opt/mm_buddyTemplate.c"
|
||||||
static void* mmX_allocN(usz sz, u8 type) { assert(sz>=16); return mmX_allocL(64-__builtin_clzl(sz-1ull), type); }
|
static void* mmX_allocN(usz sz, u8 type) { assert(sz>=16); return mmX_allocL(64-__builtin_clzl(sz-1ull), type); }
|
||||||
|
#undef allocB
|
||||||
#undef mmX_buckets
|
#undef mmX_buckets
|
||||||
#undef BN
|
#undef BN
|
||||||
#undef BSZ
|
#undef BSZ
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user