Files
kaizen/src/backend/core/jit/MemoryManagement.cpp
2023-03-20 23:37:54 +01:00

27 lines
431 B
C++

#include <core/JIT.hpp>
namespace n64 {
void JIT::InvalidatePage(u32 paddr) {
blockCache[paddr >> 20] = nullptr;
}
void JIT::InvalidateCache() {
sizeUsed = 0;
for(auto &i : blockCache) {
i = nullptr;
}
}
void* JIT::bumpAlloc(u64 size, u8 val) {
if(sizeUsed + size >= CODECACHE_SIZE) {
InvalidateCache();
}
void* ptr = &codeCache[sizeUsed];
sizeUsed += size;
memset(ptr, val, size);
return ptr;
}
}