MCPcopy Create free account
hub / github.com/catboost/catboost / Malloc

Function Malloc

library/cpp/balloc/balloc.cpp:14–30  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12 "invalid BALLOC_MINIMAL_ALIGNMENT");
13
14 static Y_FORCE_INLINE void* Malloc(size_t size) {
15 TLS& ltls = tls;
16 size = Align(size, sizeof(TAllocHeader));
17 if (Y_UNLIKELY(ltls.Mode == Empty || ltls.Mode == ToBeEnabled)) {
18 Init(ltls);
19 }
20 if (Y_LIKELY(ltls.Mode != Disabled)) {
21 TAllocHeader* allocHeader = AllocateRaw(size, ALIVE_SIGNATURE);
22 return allocHeader + 1;
23 } else {
24 // ltls.Mode == Disabled
25 const size_t extsize = size + sizeof(TAllocHeader);
26 TAllocHeader* allocHeader = (TAllocHeader*)LibcMalloc(extsize);
27 allocHeader->Encode(allocHeader, size, DISABLED_SIGNATURE);
28 return allocHeader + 1;
29 }
30 }
31
32 static void Y_FORCE_INLINE Free(void* ptr) {
33 if (ptr == nullptr) {

Callers 6

mallocFunction · 0.70
operator newFunction · 0.70
posix_memalignFunction · 0.70
operator new[]Function · 0.70
callocFunction · 0.70
reallocFunction · 0.70

Calls 3

AlignFunction · 0.50
InitFunction · 0.50
EncodeMethod · 0.45

Tested by

no test coverage detected