jvm/c/malloc.c
Zack Buhman 16eb6aa523 class_resolver: add constantpool-index-to-{class,method,field,string} cache
Object fields are now tightly packed. The intent is to make Object instances
more useful in native methods.
2024-12-25 21:09:15 -06:00

30 lines
496 B
C

#include "malloc.h"
#include <assert.h>
struct arena {
uint8_t * mem;
uint32_t size;
uint32_t ix;
};
static uint8_t class_mem[0x100000];
struct arena class_arena = {
.mem = class_mem,
.size = (sizeof (class_mem)),
.ix = 0,
};
void * malloc_class_arena(uint32_t size)
{
if (size == 0)
return nullptr;
assert((class_arena.ix & (~3)) == class_arena.ix);
void * ptr = &class_arena.mem[class_arena.ix];
size = (size + 3) & (~3);
class_arena.ix += size;
return ptr;
}