Merge pull request #1077 from lioncash/vtab

HostAllocator: Make Create64BitAllocator() return a unique_ptr
This commit is contained in:
Ryan Houdek authored and GitHub committed 2021-06-11 16:36:30 -07:00
commit 38d25d97f5
3 files changed
+7 -6

No files matched your search

+1 -1
View File
@@ -74,7 +74,7 @@ namespace FEXCore::Allocator {
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
void SetupHooks() {
Alloc64.reset(Alloc::OSAllocator::Create64BitAllocator());
Alloc64 = Alloc::OSAllocator::Create64BitAllocator();
__mmap_hook = FEX_mmap;
__munmap_hook = FEX_munmap;
FEXCore::Allocator::mmap = FEX_mmap;
+2 -2
View File
@@ -709,7 +709,7 @@ OSAllocator_64Bit::~OSAllocator_64Bit() {
}
}
Alloc::HostAllocator *Create64BitAllocator() {
return new OSAllocator_64Bit{};
std::unique_ptr<Alloc::HostAllocator> Create64BitAllocator() {
return std::make_unique<OSAllocator_64Bit>();
}
}
+4 -3
View File
@@ -1,6 +1,8 @@
#pragma once
#include <cstddef>
#include <cstdint>
#include <memory>
#include <sys/types.h>
constexpr static uint64_t PAGE_SIZE = 4096;
@@ -29,16 +31,15 @@ static inline uint64_t AlignUp(uint64_t value, uint64_t size) {
GlobalAllocator(HostAllocator *_Alloc)
: Alloc {_Alloc} {}
virtual ~GlobalAllocator() = default;
virtual void *malloc(size_t Size) = 0;
virtual void *calloc(size_t num, size_t size) = 0;
virtual void *realloc(void *ptr, size_t size) = 0;
virtual void *memalign(size_t alignment, size_t size) = 0;
virtual void free(void *ptr) = 0;
};
GlobalAllocator *CreateBasicAllocator(HostAllocator *Alloc);
}
namespace Alloc::OSAllocator {
Alloc::HostAllocator *Create64BitAllocator();
std::unique_ptr<Alloc::HostAllocator> Create64BitAllocator();
}