/home/travis/build/MoarVM/MoarVM/src/core/alloc.h
Line | Count | Source (jump to first uncovered line) |
1 | 0 | MVM_STATIC_INLINE void * MVM_malloc(size_t size) { |
2 | 0 | void *ptr = malloc(size); |
3 | 0 |
|
4 | 0 | if (!ptr) |
5 | 0 | MVM_panic_allocation_failed(size); |
6 | 0 |
|
7 | 0 | return ptr; |
8 | 0 | } |
9 | | |
10 | 0 | MVM_STATIC_INLINE void * MVM_calloc(size_t num, size_t size) { |
11 | 0 | void *ptr = calloc(num, size); |
12 | 0 |
|
13 | 0 | if (!ptr) |
14 | 0 | MVM_panic_allocation_failed(num * size); |
15 | 0 |
|
16 | 0 | return ptr; |
17 | 0 | } |
18 | | |
19 | 0 | MVM_STATIC_INLINE void * MVM_realloc(void *p, size_t size) { |
20 | 0 | void *ptr = realloc(p, size); |
21 | 0 |
|
22 | 0 | if (!ptr && size > 0) |
23 | 0 | MVM_panic_allocation_failed(size); |
24 | 0 |
|
25 | 0 | return ptr; |
26 | 0 | } |
27 | | |
28 | 0 | MVM_STATIC_INLINE void * MVM_recalloc(void *p, size_t old_size, size_t size) { |
29 | 0 | void *ptr = realloc(p, size); |
30 | 0 |
|
31 | 0 | if (!ptr && size > 0) |
32 | 0 | MVM_panic_allocation_failed(size); |
33 | 0 |
|
34 | 0 | memset((char *)ptr + old_size, 0, size - old_size); |
35 | 0 |
|
36 | 0 | return ptr; |
37 | 0 | } |
38 | | |
39 | 0 | MVM_STATIC_INLINE void MVM_free(void *p) { |
40 | 0 | free(p); |
41 | 0 | } |
42 | | |
43 | | |
44 | | #define MVM_free_null(addr) do { \ |
45 | | MVM_free((void *)(addr)); \ |
46 | | (addr) = NULL; \ |
47 | | } while (0) |
48 | | |