1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
// SPDX-License-Identifier: BSD-2-Clause
/* Copyright (C) 2015 - 2021 Intel Corporation. */
#pragma once
#include "Allocation_info.hpp"
#include "Allocator.hpp"
#include "Configuration.hpp"
#include "FunctionCalls.hpp"
#include "WrappersMacros.hpp"
#include <jemalloc/jemalloc.h>
class JemallocAllocatorWithTimer: public Allocator
{
public:
memory_operation wrapped_malloc(size_t size)
{
START_TEST(AllocatorTypes::JEMALLOC, FunctionCalls::MALLOC)
data.ptr = malloc(size);
END_TEST
}
memory_operation wrapped_calloc(size_t num, size_t size)
{
START_TEST(AllocatorTypes::JEMALLOC, FunctionCalls::CALLOC)
data.ptr = calloc(num, size);
END_TEST
}
memory_operation wrapped_realloc(void *ptr, size_t size)
{
START_TEST(AllocatorTypes::JEMALLOC, FunctionCalls::REALLOC)
data.ptr = realloc(ptr, size);
END_TEST
}
void wrapped_free(void *ptr)
{
free(ptr);
}
unsigned type()
{
return AllocatorTypes::JEMALLOC;
}
};
|