Skip to content

Commit 002ead5

Browse files
committed
Fixes allocator to reflect recent changes in API
1 parent bdd0c11 commit 002ead5

File tree

5 files changed

+25
-25
lines changed

5 files changed

+25
-25
lines changed

wee_alloc/src/imp_static_array.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use const_init::ConstInit;
2-
use core::alloc::{AllocErr, Opaque};
2+
use core::alloc::{AllocErr, u8};
33
#[cfg(feature = "extra_assertions")]
44
use core::cell::Cell;
55
use core::ptr::NonNull;
@@ -10,12 +10,12 @@ const SCRATCH_LEN_BYTES: usize = include!(concat!(env!("OUT_DIR"), "/wee_alloc_s
1010
static mut SCRATCH_HEAP: [u8; SCRATCH_LEN_BYTES] = [0; SCRATCH_LEN_BYTES];
1111
static mut OFFSET: Mutex<usize> = Mutex::new(0);
1212

13-
pub(crate) unsafe fn alloc_pages(pages: Pages) -> Result<NonNull<Opaque>, AllocErr> {
13+
pub(crate) unsafe fn alloc_pages(pages: Pages) -> Result<NonNull<u8>, AllocErr> {
1414
let bytes: Bytes = pages.into();
1515
let mut offset = OFFSET.lock();
1616
let end = bytes.0 + *offset;
1717
if end < SCRATCH_LEN_BYTES {
18-
let ptr = SCRATCH_HEAP[*offset..end].as_mut_ptr() as *mut u8 as *mut Opaque;
18+
let ptr = SCRATCH_HEAP[*offset..end].as_mut_ptr() as *mut u8;
1919
*offset = end;
2020
NonNull::new(ptr).ok_or_else(|| AllocErr)
2121
} else {

wee_alloc/src/imp_unix.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
use const_init::ConstInit;
2-
use core::alloc::{AllocErr, Opaque};
2+
use core::alloc::AllocErr;
33
use core::cell::UnsafeCell;
44
use core::ptr::NonNull;
55
use libc;
66
use memory_units::{Bytes, Pages};
77

8-
pub(crate) fn alloc_pages(pages: Pages) -> Result<NonNull<Opaque>, AllocErr> {
8+
pub(crate) fn alloc_pages(pages: Pages) -> Result<NonNull<u8>, AllocErr> {
99
unsafe {
1010
let bytes: Bytes = pages.into();
1111
let addr = libc::mmap(
@@ -19,7 +19,7 @@ pub(crate) fn alloc_pages(pages: Pages) -> Result<NonNull<Opaque>, AllocErr> {
1919
if addr == libc::MAP_FAILED {
2020
Err(AllocErr)
2121
} else {
22-
NonNull::new(addr as *mut Opaque).ok_or(AllocErr)
22+
NonNull::new(addr as *mut u8).ok_or(AllocErr)
2323
}
2424
}
2525
}

wee_alloc/src/imp_wasm32.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use super::{assert_is_word_aligned, PAGE_SIZE, unchecked_unwrap};
22
use const_init::ConstInit;
3-
use core::alloc::{AllocErr, Opaque};
3+
use core::alloc::{AllocErr, u8};
44
use core::cell::UnsafeCell;
55
use core::ptr::NonNull;
66
use memory_units::Pages;
@@ -10,10 +10,10 @@ extern "C" {
1010
fn grow_memory(pages: usize) -> i32;
1111
}
1212

13-
pub(crate) unsafe fn alloc_pages(n: Pages) -> Result<NonNull<Opaque>, AllocErr> {
13+
pub(crate) unsafe fn alloc_pages(n: Pages) -> Result<NonNull<u8>, AllocErr> {
1414
let ptr = grow_memory(n.0);
1515
if -1 != ptr {
16-
let ptr = (ptr as usize * PAGE_SIZE.0) as *mut Opaque;
16+
let ptr = (ptr as usize * PAGE_SIZE.0) as *mut u8;
1717
assert_is_word_aligned(ptr as *mut u8);
1818
Ok(unchecked_unwrap(NonNull::new(ptr)))
1919
} else {

wee_alloc/src/imp_windows.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use const_init::ConstInit;
2-
use core::alloc::{AllocErr, Opaque};
2+
use core::alloc::{AllocErr, u8};
33
use core::cell::UnsafeCell;
44
use core::ptr::NonNull;
55
use memory_units::{Bytes, Pages};
@@ -12,10 +12,10 @@ use winapi::um::synchapi::{CreateMutexW, ReleaseMutex, WaitForSingleObject};
1212
use winapi::um::winbase::{WAIT_OBJECT_0, INFINITE};
1313
use winapi::um::winnt::{HANDLE, MEM_COMMIT, PAGE_READWRITE};
1414

15-
pub(crate) fn alloc_pages(pages: Pages) -> Result<NonNull<Opaque>, AllocErr> {
15+
pub(crate) fn alloc_pages(pages: Pages) -> Result<NonNull<u8>, AllocErr> {
1616
let bytes: Bytes = pages.into();
1717
let ptr = unsafe { VirtualAlloc(NULL, bytes.0, MEM_COMMIT, PAGE_READWRITE) };
18-
NonNull::new(ptr as *mut Opaque).ok_or(AllocErr)
18+
NonNull::new(ptr as *mut u8).ok_or(AllocErr)
1919
}
2020

2121
// Align to the cache line size on an i7 to avoid false sharing.

wee_alloc/src/lib.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ for hacking!
222222

223223
#![deny(missing_docs)]
224224
#![cfg_attr(not(feature = "use_std_for_test_debugging"), no_std)]
225-
#![feature(alloc, allocator_api, core_intrinsics, global_allocator)]
225+
#![feature(alloc, allocator_api, core_intrinsics)]
226226
#![cfg_attr(target_arch = "wasm32", feature(link_llvm_intrinsics))]
227227

228228
#[macro_use]
@@ -269,7 +269,7 @@ mod neighbors;
269269
mod size_classes;
270270

271271
use const_init::ConstInit;
272-
use core::alloc::{Alloc, AllocErr, GlobalAlloc, Layout, Opaque};
272+
use core::alloc::{Alloc, AllocErr, GlobalAlloc, Layout};
273273
use core::cell::Cell;
274274
use core::cmp;
275275
use core::marker::Sync;
@@ -520,7 +520,7 @@ impl<'a> FreeCell<'a> {
520520
}
521521

522522
unsafe fn from_uninitialized(
523-
raw: NonNull<Opaque>,
523+
raw: NonNull<u8>,
524524
size: Bytes,
525525
next_free: Option<*const FreeCell<'a>>,
526526
policy: &AllocPolicy<'a>,
@@ -586,7 +586,7 @@ impl<'a> FreeCell<'a> {
586586
let split_cell_head = split_and_aligned - size_of::<CellHeader>().0;
587587
let split_cell = unsafe {
588588
&*FreeCell::from_uninitialized(
589-
unchecked_unwrap(NonNull::new(split_cell_head as *mut Opaque)),
589+
unchecked_unwrap(NonNull::new(split_cell_head as *mut u8)),
590590
Bytes(next - split_cell_head) - size_of::<CellHeader>(),
591591
None,
592592
policy,
@@ -951,7 +951,7 @@ unsafe fn alloc_first_fit<'a>(
951951
align: Bytes,
952952
head: &Cell<*const FreeCell<'a>>,
953953
policy: &AllocPolicy<'a>,
954-
) -> Result<NonNull<Opaque>, AllocErr> {
954+
) -> Result<NonNull<u8>, AllocErr> {
955955
extra_assert!(size.0 > 0);
956956

957957
walk_free_list(head, policy, |previous, current| {
@@ -960,7 +960,7 @@ unsafe fn alloc_first_fit<'a>(
960960
if let Some(allocated) = current.try_alloc(previous, size, align, policy) {
961961
assert_aligned_to(allocated.data(), align);
962962
return Some(unchecked_unwrap(
963-
NonNull::new(allocated.data() as *mut Opaque),
963+
NonNull::new(allocated.data() as *mut u8),
964964
));
965965
}
966966

@@ -973,7 +973,7 @@ unsafe fn alloc_with_refill<'a, 'b>(
973973
align: Bytes,
974974
head: &'b Cell<*const FreeCell<'a>>,
975975
policy: &AllocPolicy<'a>,
976-
) -> Result<NonNull<Opaque>, AllocErr> {
976+
) -> Result<NonNull<u8>, AllocErr> {
977977
if let Ok(result) = alloc_first_fit(size, align, head, policy) {
978978
return Ok(result);
979979
}
@@ -1072,7 +1072,7 @@ unsafe impl<'a, 'b> Alloc for &'b WeeAlloc<'a>
10721072
where
10731073
'a: 'b,
10741074
{
1075-
unsafe fn alloc(&mut self, layout: Layout) -> Result<NonNull<Opaque>, AllocErr> {
1075+
unsafe fn alloc(&mut self, layout: Layout) -> Result<NonNull<u8>, AllocErr> {
10761076
let size = Bytes(layout.size());
10771077
let align = if layout.align() == 0 {
10781078
Bytes(1)
@@ -1084,7 +1084,7 @@ where
10841084
// Ensure that our made up pointer is properly aligned by using the
10851085
// alignment as the pointer.
10861086
extra_assert!(align.0 > 0);
1087-
return Ok(NonNull::new_unchecked(align.0 as *mut Opaque));
1087+
return Ok(NonNull::new_unchecked(align.0 as *mut u8));
10881088
}
10891089

10901090
let size: Words = size.round_up_to();
@@ -1095,7 +1095,7 @@ where
10951095
})
10961096
}
10971097

1098-
unsafe fn dealloc(&mut self, ptr: NonNull<Opaque>, layout: Layout) {
1098+
unsafe fn dealloc(&mut self, ptr: NonNull<u8>, layout: Layout) {
10991099
let size = Bytes(layout.size());
11001100
if size.0 == 0 {
11011101
return;
@@ -1185,15 +1185,15 @@ where
11851185
}
11861186

11871187
unsafe impl GlobalAlloc for WeeAlloc<'static> {
1188-
unsafe fn alloc(&self, layout: Layout) -> *mut Opaque {
1188+
unsafe fn alloc(&self, layout: Layout) -> *mut u8 {
11891189
let mut me = self;
11901190
match Alloc::alloc(&mut me, layout) {
11911191
Ok(ptr) => ptr.as_ptr(),
1192-
Err(AllocErr) => 0 as *mut Opaque,
1192+
Err(AllocErr) => 0 as *mut u8,
11931193
}
11941194
}
11951195

1196-
unsafe fn dealloc(&self, ptr: *mut Opaque, layout: Layout) {
1196+
unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) {
11971197
if let Some(ptr) = NonNull::new(ptr) {
11981198
let mut me = self;
11991199
Alloc::dealloc(&mut me, ptr, layout);

0 commit comments

Comments
 (0)