Macaulay2 Engine
Loading...
Searching...
No Matches

◆ stash()

stash::stash ( const char * s,
size_t len )

Definition at line 16 of file mem.cpp.

17 : name(s),
18 slabs(nullptr),
19 free_list(nullptr),
20 n_allocs(0),
21 n_inuse(0),
22 highwater(0),
23 n_frees(0)
24{
25 // Make sure element_size is a multiple of the word size.
26 if (len <= 0) len = word_size;
27 element_size = word_size * ((len + word_size - 1) / word_size);
28 // number of elements per slab is the slab size divided by the element size
29 // rounded down.
30 n_per_slab = static_cast<int>((slab_size - sizeof(void *)) / element_size);
31 n_per_slab = 0;
32 initializeSpinLock(&list_spinlock);
33}
int n_per_slab
Definition mem.hpp:94
const char * name
Definition mem.hpp:90
slab * slabs
Definition mem.hpp:99
void * free_list
Definition mem.hpp:106
size_t highwater
Definition mem.hpp:111
spinLock list_spinlock
Definition mem.hpp:118
size_t n_allocs
Definition mem.hpp:109
size_t n_frees
Definition mem.hpp:112
size_t element_size
Definition mem.hpp:91
size_t n_inuse
Definition mem.hpp:110
void size_t s
Definition m2-mem.cpp:271
const int slab_size
Definition mem.hpp:44
const int word_size
Definition mem.hpp:47

References element_size, free_list, highwater, list_spinlock, n_allocs, n_frees, n_inuse, n_per_slab, name, s, slab_size, slabs, and word_size.