Skip to content

Commit 2aaa375

Browse files
committed
Use malloc/free in default arena for leak tracking.
1 parent 20b9d22 commit 2aaa375

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/arena.cpp

+8-6
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,11 @@
1818
*/
1919
#include <bitcoin/system/arena.hpp>
2020

21+
#include <cstdlib>
2122
#include <bitcoin/system/constants.hpp>
2223

2324
namespace libbitcoin {
2425

25-
BC_PUSH_WARNING(NO_NEW_OR_DELETE)
26-
2726
bool operator==(const arena& left, const arena& right) NOEXCEPT
2827
{
2928
return &left == &right || left.is_equal(right);
@@ -41,14 +40,18 @@ void* default_arena::do_allocate(size_t bytes, size_t) THROWS
4140
{
4241
////if (align > __STDCPP_DEFAULT_NEW_ALIGNMENT__)
4342
//// return ::operator new(bytes, std::align_val_t{ align });
44-
return ::operator new(bytes);
43+
BC_PUSH_WARNING(NO_MALLOC_OR_FREE)
44+
return std::malloc(bytes);
45+
BC_POP_WARNING()
4546
}
4647

4748
void default_arena::do_deallocate(void* ptr, size_t, size_t) NOEXCEPT
4849
{
4950
////if (align > __STDCPP_DEFAULT_NEW_ALIGNMENT__)
5051
//// ::operator delete(ptr, std::align_val_t{ align });
51-
::operator delete(ptr);
52+
BC_PUSH_WARNING(NO_MALLOC_OR_FREE)
53+
std::free(ptr);
54+
BC_POP_WARNING()
5255
}
5356

5457
bool default_arena::do_is_equal(const arena& other) const NOEXCEPT
@@ -57,6 +60,7 @@ bool default_arena::do_is_equal(const arena& other) const NOEXCEPT
5760
return &other == this;
5861
}
5962

63+
// null return indicates that this arena is not detachable.
6064
void* default_arena::start(size_t) THROWS
6165
{
6266
return nullptr;
@@ -71,6 +75,4 @@ void default_arena::release(void*) NOEXCEPT
7175
{
7276
}
7377

74-
BC_POP_WARNING()
75-
7678
} // namespace libbitcoin

0 commit comments

Comments
 (0)