/src/zstd/lib/common/allocations.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (c) Meta Platforms, Inc. and affiliates. |
3 | | * All rights reserved. |
4 | | * |
5 | | * This source code is licensed under both the BSD-style license (found in the |
6 | | * LICENSE file in the root directory of this source tree) and the GPLv2 (found |
7 | | * in the COPYING file in the root directory of this source tree). |
8 | | * You may select, at your option, one of the above-listed licenses. |
9 | | */ |
10 | | |
11 | | /* This file provides custom allocation primitives |
12 | | */ |
13 | | |
14 | | #define ZSTD_DEPS_NEED_MALLOC |
15 | | #include "zstd_deps.h" /* ZSTD_malloc, ZSTD_calloc, ZSTD_free, ZSTD_memset */ |
16 | | |
17 | | #include "compiler.h" /* MEM_STATIC */ |
18 | | #define ZSTD_STATIC_LINKING_ONLY |
19 | | #include "../zstd.h" /* ZSTD_customMem */ |
20 | | |
21 | | #ifndef ZSTD_ALLOCATIONS_H |
22 | | #define ZSTD_ALLOCATIONS_H |
23 | | |
24 | | /* custom memory allocation functions */ |
25 | | |
26 | | MEM_STATIC void* ZSTD_customMalloc(size_t size, ZSTD_customMem customMem) |
27 | 54.7k | { |
28 | 54.7k | if (customMem.customAlloc) |
29 | 0 | return customMem.customAlloc(customMem.opaque, size); |
30 | 54.7k | return ZSTD_malloc(size); |
31 | 54.7k | } Unexecuted instantiation: sequence_producer.c:ZSTD_customMalloc Unexecuted instantiation: pool.c:ZSTD_customMalloc zstd_compress.c:ZSTD_customMalloc Line | Count | Source | 27 | 36.0k | { | 28 | 36.0k | if (customMem.customAlloc) | 29 | 0 | return customMem.customAlloc(customMem.opaque, size); | 30 | 36.0k | return ZSTD_malloc(size); | 31 | 36.0k | } |
Unexecuted instantiation: zstd_compress_literals.c:ZSTD_customMalloc Unexecuted instantiation: zstd_compress_superblock.c:ZSTD_customMalloc Unexecuted instantiation: zstd_double_fast.c:ZSTD_customMalloc Unexecuted instantiation: zstd_fast.c:ZSTD_customMalloc Unexecuted instantiation: zstd_lazy.c:ZSTD_customMalloc Unexecuted instantiation: zstd_ldm.c:ZSTD_customMalloc Unexecuted instantiation: zstd_opt.c:ZSTD_customMalloc zstdmt_compress.c:ZSTD_customMalloc Line | Count | Source | 27 | 1.12k | { | 28 | 1.12k | if (customMem.customAlloc) | 29 | 0 | return customMem.customAlloc(customMem.opaque, size); | 30 | 1.12k | return ZSTD_malloc(size); | 31 | 1.12k | } |
Unexecuted instantiation: zstd_ddict.c:ZSTD_customMalloc zstd_decompress.c:ZSTD_customMalloc Line | Count | Source | 27 | 17.5k | { | 28 | 17.5k | if (customMem.customAlloc) | 29 | 0 | return customMem.customAlloc(customMem.opaque, size); | 30 | 17.5k | return ZSTD_malloc(size); | 31 | 17.5k | } |
Unexecuted instantiation: fastcover.c:ZSTD_customMalloc Unexecuted instantiation: zdict.c:ZSTD_customMalloc |
32 | | |
33 | | MEM_STATIC void* ZSTD_customCalloc(size_t size, ZSTD_customMem customMem) |
34 | 3.59k | { |
35 | 3.59k | if (customMem.customAlloc) { |
36 | | /* calloc implemented as malloc+memset; |
37 | | * not as efficient as calloc, but next best guess for custom malloc */ |
38 | 0 | void* const ptr = customMem.customAlloc(customMem.opaque, size); |
39 | 0 | ZSTD_memset(ptr, 0, size); |
40 | 0 | return ptr; |
41 | 0 | } |
42 | 3.59k | return ZSTD_calloc(1, size); |
43 | 3.59k | } Unexecuted instantiation: sequence_producer.c:ZSTD_customCalloc Line | Count | Source | 34 | 981 | { | 35 | 981 | if (customMem.customAlloc) { | 36 | | /* calloc implemented as malloc+memset; | 37 | | * not as efficient as calloc, but next best guess for custom malloc */ | 38 | 0 | void* const ptr = customMem.customAlloc(customMem.opaque, size); | 39 | 0 | ZSTD_memset(ptr, 0, size); | 40 | 0 | return ptr; | 41 | 0 | } | 42 | 981 | return ZSTD_calloc(1, size); | 43 | 981 | } |
Unexecuted instantiation: zstd_compress.c:ZSTD_customCalloc Unexecuted instantiation: zstd_compress_literals.c:ZSTD_customCalloc Unexecuted instantiation: zstd_compress_superblock.c:ZSTD_customCalloc Unexecuted instantiation: zstd_double_fast.c:ZSTD_customCalloc Unexecuted instantiation: zstd_fast.c:ZSTD_customCalloc Unexecuted instantiation: zstd_lazy.c:ZSTD_customCalloc Unexecuted instantiation: zstd_ldm.c:ZSTD_customCalloc Unexecuted instantiation: zstd_opt.c:ZSTD_customCalloc zstdmt_compress.c:ZSTD_customCalloc Line | Count | Source | 34 | 2.61k | { | 35 | 2.61k | if (customMem.customAlloc) { | 36 | | /* calloc implemented as malloc+memset; | 37 | | * not as efficient as calloc, but next best guess for custom malloc */ | 38 | 0 | void* const ptr = customMem.customAlloc(customMem.opaque, size); | 39 | 0 | ZSTD_memset(ptr, 0, size); | 40 | 0 | return ptr; | 41 | 0 | } | 42 | 2.61k | return ZSTD_calloc(1, size); | 43 | 2.61k | } |
Unexecuted instantiation: zstd_ddict.c:ZSTD_customCalloc Unexecuted instantiation: zstd_decompress.c:ZSTD_customCalloc Unexecuted instantiation: fastcover.c:ZSTD_customCalloc Unexecuted instantiation: zdict.c:ZSTD_customCalloc |
44 | | |
45 | | MEM_STATIC void ZSTD_customFree(void* ptr, ZSTD_customMem customMem) |
46 | 133k | { |
47 | 133k | if (ptr!=NULL) { |
48 | 58.3k | if (customMem.customFree) |
49 | 0 | customMem.customFree(customMem.opaque, ptr); |
50 | 58.3k | else |
51 | 58.3k | ZSTD_free(ptr); |
52 | 58.3k | } |
53 | 133k | } Unexecuted instantiation: sequence_producer.c:ZSTD_customFree Line | Count | Source | 46 | 981 | { | 47 | 981 | if (ptr!=NULL) { | 48 | 981 | if (customMem.customFree) | 49 | 0 | customMem.customFree(customMem.opaque, ptr); | 50 | 981 | else | 51 | 981 | ZSTD_free(ptr); | 52 | 981 | } | 53 | 981 | } |
zstd_compress.c:ZSTD_customFree Line | Count | Source | 46 | 90.4k | { | 47 | 90.4k | if (ptr!=NULL) { | 48 | 36.0k | if (customMem.customFree) | 49 | 0 | customMem.customFree(customMem.opaque, ptr); | 50 | 36.0k | else | 51 | 36.0k | ZSTD_free(ptr); | 52 | 36.0k | } | 53 | 90.4k | } |
Unexecuted instantiation: zstd_compress_literals.c:ZSTD_customFree Unexecuted instantiation: zstd_compress_superblock.c:ZSTD_customFree Unexecuted instantiation: zstd_double_fast.c:ZSTD_customFree Unexecuted instantiation: zstd_fast.c:ZSTD_customFree Unexecuted instantiation: zstd_lazy.c:ZSTD_customFree Unexecuted instantiation: zstd_ldm.c:ZSTD_customFree Unexecuted instantiation: zstd_opt.c:ZSTD_customFree zstdmt_compress.c:ZSTD_customFree Line | Count | Source | 46 | 6.54k | { | 47 | 6.54k | if (ptr!=NULL) { | 48 | 3.73k | if (customMem.customFree) | 49 | 0 | customMem.customFree(customMem.opaque, ptr); | 50 | 3.73k | else | 51 | 3.73k | ZSTD_free(ptr); | 52 | 3.73k | } | 53 | 6.54k | } |
Unexecuted instantiation: zstd_ddict.c:ZSTD_customFree zstd_decompress.c:ZSTD_customFree Line | Count | Source | 46 | 35.1k | { | 47 | 35.1k | if (ptr!=NULL) { | 48 | 17.5k | if (customMem.customFree) | 49 | 0 | customMem.customFree(customMem.opaque, ptr); | 50 | 17.5k | else | 51 | 17.5k | ZSTD_free(ptr); | 52 | 17.5k | } | 53 | 35.1k | } |
Unexecuted instantiation: fastcover.c:ZSTD_customFree Unexecuted instantiation: zdict.c:ZSTD_customFree |
54 | | |
55 | | #endif /* ZSTD_ALLOCATIONS_H */ |