mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-02 10:33:53 +00:00
EE/JIT: unique_ptr-ify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216361 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0acfd7f0a4
commit
444aa2d525
@ -324,7 +324,7 @@ namespace {
|
||||
// When emitting code into a memory block, this is the block.
|
||||
MemoryRangeHeader *CurBlock;
|
||||
|
||||
uint8_t *GOTBase; // Target Specific reserved memory
|
||||
std::unique_ptr<uint8_t[]> GOTBase; // Target Specific reserved memory
|
||||
public:
|
||||
DefaultJITMemoryManager();
|
||||
~DefaultJITMemoryManager();
|
||||
@ -525,7 +525,7 @@ namespace {
|
||||
}
|
||||
|
||||
uint8_t *getGOTBase() const override {
|
||||
return GOTBase;
|
||||
return GOTBase.get();
|
||||
}
|
||||
|
||||
void deallocateBlock(void *Block) {
|
||||
@ -638,21 +638,17 @@ DefaultJITMemoryManager::DefaultJITMemoryManager()
|
||||
|
||||
// Start out with the freelist pointing to Mem0.
|
||||
FreeMemoryList = Mem0;
|
||||
|
||||
GOTBase = nullptr;
|
||||
}
|
||||
|
||||
void DefaultJITMemoryManager::AllocateGOT() {
|
||||
assert(!GOTBase && "Cannot allocate the got multiple times");
|
||||
GOTBase = new uint8_t[sizeof(void*) * 8192];
|
||||
GOTBase = make_unique<uint8_t[]>(sizeof(void*) * 8192);
|
||||
HasGOT = true;
|
||||
}
|
||||
|
||||
DefaultJITMemoryManager::~DefaultJITMemoryManager() {
|
||||
for (unsigned i = 0, e = CodeSlabs.size(); i != e; ++i)
|
||||
sys::Memory::ReleaseRWX(CodeSlabs[i]);
|
||||
|
||||
delete[] GOTBase;
|
||||
}
|
||||
|
||||
sys::MemoryBlock DefaultJITMemoryManager::allocateNewSlab(size_t size) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user