| 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) { |
no test coverage detected