gpu_alloc/
heap.rs

1#[derive(Debug)]
2pub(crate) struct Heap {
3    size: u64,
4    used: u64,
5    allocated: u128,
6    deallocated: u128,
7}
8
9impl Heap {
10    pub(crate) fn new(size: u64) -> Self {
11        Heap {
12            size,
13            used: 0,
14            allocated: 0,
15            deallocated: 0,
16        }
17    }
18
19    pub(crate) fn size(&mut self) -> u64 {
20        self.size
21    }
22
23    pub(crate) fn alloc(&mut self, size: u64) {
24        self.used += size;
25        self.allocated += u128::from(size);
26    }
27
28    pub(crate) fn dealloc(&mut self, size: u64) {
29        self.used -= size;
30        self.deallocated += u128::from(size);
31    }
32}