1 krisbash 1.1 #ifndef _alloc_h
2 #define _alloc_h
3
4 #include <nits/base/nits.h>
5
6 /*
7 **==============================================================================
8 **
9 ** No Allocator:
10 **
11 **==============================================================================
12 */
13
14 PAL_BEGIN_EXTERNC
15
16 PAL_INLINE void* SystemMallocCallsite(
17 NitsCallSite callsite,
18 size_t size)
19 {
20 if (NitsShouldFault(callsite, NitsAutomatic))
21 return NULL;
22 krisbash 1.1
23 return malloc(size);
24 }
25
26 PAL_INLINE void* SystemCallocCallsite(
27 NitsCallSite callsite,
28 size_t count,
29 size_t size)
30 {
31 if (NitsShouldFault(callsite, NitsAutomatic))
32 return NULL;
33
34 return calloc(count, size);
35 }
36
37 PAL_INLINE void* SystemReallocCallsite(
38 NitsCallSite callsite,
39 void* ptr,
40 size_t size)
41 {
42 if (NitsShouldFault(callsite, NitsAutomatic))
43 krisbash 1.1 return NULL;
44
45 return realloc(ptr, size);
46 }
47
48 #if !defined(USE_ALLOCATOR)
49
50 # define PAL_MallocCallsite SystemMallocCallsite
51 # define PAL_CallocCallsite SystemCallocCallsite
52 # define PAL_ReallocCallsite SystemReallocCallsite
53
54 #else
55
56 # define PAL_MallocCallsite(callsite, size) __PAL_MallocCallsite(callsite, size)
57 void* __PAL_MallocCallsite(
58 NitsCallSite callsite,
59 size_t size);
60
61
62 # define PAL_CallocCallsite(callsite, count, size) __PAL_CallocCallsite(callsite, count, size)
63 void* __PAL_CallocCallsite(
64 krisbash 1.1 NitsCallSite callsite,
65 size_t count,
66 size_t size);
67
68
69 # define PAL_ReallocCallsite(callsite, ptr, size) __PAL_ReallocCallsite(callsite, ptr, size)
70 void* __PAL_ReallocCallsite(
71 NitsCallSite callsite,
72 void* ptr,
73 size_t size);
74
75
76 #endif /* !defined(USE_ALLOCATOR) */
77
78 PAL_END_EXTERNC
79
80
81 #endif
|