MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / mallocBuffer

Method mallocBuffer

src/storage/buffer_manager/memory_manager.cpp:54–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

52}
53
54std::span<uint8_t> MemoryManager::mallocBuffer(bool initializeToZero, uint64_t size) {
55 if (!bm->reserve(size)) {
56 throw BufferManagerException(
57 "Unable to allocate memory! The buffer pool is full and no memory could be freed!");
58 }
59 void* buffer = nullptr;
60 bm->nonEvictableMemory += size;
61 if (initializeToZero) {
62 buffer = calloc(size, 1);
63 } else {
64 buffer = malloc(size);
65 }
66 return std::span(static_cast<uint8_t*>(buffer), size);
67}
68
69std::unique_ptr<MemoryBuffer> MemoryManager::allocateBuffer(bool initializeToZero, uint64_t size) {
70 if (size != TEMP_PAGE_SIZE) [[unlikely]] {

Callers 2

prepareLoadFromDiskMethod · 0.80
allocateMethod · 0.80

Calls 1

reserveMethod · 0.45

Tested by

no test coverage detected