aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2022-08-19 23:39:20 -0700
committerChristian Cunningham <cc@localhost>2022-08-19 23:39:20 -0700
commit917073ec51151596e54fb063b943aab20e584336 (patch)
tree3e24cd85fdacaa0a70d5b46e464721ceafe4c67d /src
parentdc3326c21dad5fc72eff6804d1c9b1d673a79a12 (diff)
Simplified Allocator statements
Diffstat (limited to 'src')
-rw-r--r--src/mem/alloc.rs22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/mem/alloc.rs b/src/mem/alloc.rs
index 65e85eb..74f5f1d 100644
--- a/src/mem/alloc.rs
+++ b/src/mem/alloc.rs
@@ -43,6 +43,10 @@ impl<T> QueueItem<'_,T> {
pub fn inner(&mut self) -> &mut T {
&mut self.data
}
+ /// # Get pointer to inner data
+ pub fn ptr(&mut self) -> *mut u8 {
+ self.inner() as *mut T as *mut u8
+ }
}
/// # Sharing Thread Safety for QueueItem
unsafe impl<T> Send for QueueItem<'_,T> {}
@@ -188,7 +192,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
panic!("No cells to allocate!");
}
Some(elem) => {
- return (*elem).inner() as *mut u8;
+ return (*elem).ptr();
}
}
}
@@ -198,7 +202,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
panic!("No cells to allocate!");
}
Some(elem) => {
- return (*elem).inner() as *mut u16 as *mut u8;
+ return (*elem).ptr();
}
}
}
@@ -208,7 +212,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
panic!("No cells to allocate!");
}
Some(elem) => {
- return (*elem).inner() as *mut u32 as *mut u8;
+ return (*elem).ptr();
}
}
}
@@ -218,7 +222,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
panic!("No cells to allocate!");
}
Some(elem) => {
- return (*elem).inner() as *mut u64 as *mut u8;
+ return (*elem).ptr();
}
}
}
@@ -228,7 +232,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
panic!("No cells to allocate!");
}
Some(elem) => {
- return (*elem).inner() as *mut u128 as *mut u8;
+ return (*elem).ptr();
}
}
}
@@ -254,7 +258,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
2 => {
U16_GRAND_ALLOC.inner.lock(|pool| {
for idx in 2..pool.len() {
- if pool[idx].inner() as *mut u16 as *mut u8 == ptr {
+ if pool[idx].ptr() == ptr {
U16_GRAND_ALLOC.free(&mut pool[idx]);
return;
}
@@ -265,7 +269,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
4 => {
U32_GRAND_ALLOC.inner.lock(|pool| {
for idx in 2..pool.len() {
- if pool[idx].inner() as *mut u32 as *mut u8 == ptr {
+ if pool[idx].ptr() == ptr {
U32_GRAND_ALLOC.free(&mut pool[idx]);
return;
}
@@ -276,7 +280,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
8 => {
U64_GRAND_ALLOC.inner.lock(|pool| {
for idx in 2..pool.len() {
- if pool[idx].inner() as *mut u64 as *mut u8 == ptr {
+ if pool[idx].ptr() == ptr {
U64_GRAND_ALLOC.free(&mut pool[idx]);
return;
}
@@ -287,7 +291,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
16 => {
U128_GRAND_ALLOC.inner.lock(|pool| {
for idx in 2..pool.len() {
- if pool[idx].inner() as *mut u128 as *mut u8 == ptr {
+ if pool[idx].ptr() == ptr {
U128_GRAND_ALLOC.free(&mut pool[idx]);
return;
}