Improved ThreadAlloc::get API

Made the API so that get always returns an initialised Alloc*.  Added
new fast path that doesn't perform checking, but can lead to very slow
behaviour if called and reused.
This commit is contained in:
Matthew Parkinson
2019-07-15 15:02:47 +01:00
parent 4ce371f936
commit df1896d55f
6 changed files with 44 additions and 21 deletions

View File

@@ -49,7 +49,7 @@ namespace test
void test_external_pointer(xoroshiro::p128r64& r)
{
auto& alloc = ThreadAlloc::get();
auto alloc = ThreadAlloc::get();
#ifdef NDEBUG
static constexpr size_t iterations = 10000000;
#else
@@ -79,9 +79,6 @@ namespace test
int main(int, char**)
{
xoroshiro::p128r64 r;
// Force a per-thread allocator to actually exist.
void* p = ThreadAlloc::get()->alloc(16);
ThreadAlloc::get()->dealloc(p);
#if NDEBUG
size_t nn = 30;
#else