forked from GitHub/bdwgc-rust
Remove alloc method
This commit is contained in:
@@ -1,14 +1,17 @@
|
||||
extern crate bdwgc_allocator;
|
||||
|
||||
use bdwgc_allocator::Allocator;
|
||||
use std::alloc::{GlobalAlloc, Layout};
|
||||
|
||||
#[global_allocator]
|
||||
static GLOBAL_ALLOCATOR: bdwgc_allocator::Allocator = bdwgc_allocator::Allocator;
|
||||
static GLOBAL_ALLOCATOR: Allocator = Allocator;
|
||||
|
||||
fn main() {
|
||||
unsafe { bdwgc_allocator::Allocator::initialize() }
|
||||
unsafe { Allocator::initialize() }
|
||||
|
||||
let mut _n = bdwgc_allocator::Allocator::alloc(2 ^ 8);
|
||||
let mut _n = unsafe { GLOBAL_ALLOCATOR.alloc(Layout::from_size_align(2 ^ 8, 8).unwrap()) };
|
||||
|
||||
loop {
|
||||
_n = bdwgc_allocator::Allocator::alloc(2 ^ 8)
|
||||
_n = unsafe { GLOBAL_ALLOCATOR.alloc(Layout::from_size_align(2 ^ 8, 8).unwrap()) };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,21 @@
|
||||
extern crate bdwgc_allocator;
|
||||
|
||||
use bdwgc_allocator::Allocator;
|
||||
use std::alloc::{GlobalAlloc, Layout};
|
||||
|
||||
#[global_allocator]
|
||||
static GLOBAL_ALLOCATOR: bdwgc_allocator::Allocator = bdwgc_allocator::Allocator;
|
||||
static GLOBAL_ALLOCATOR: Allocator = Allocator;
|
||||
|
||||
fn main() {
|
||||
unsafe { bdwgc_allocator::Allocator::initialize() }
|
||||
unsafe { Allocator::initialize() }
|
||||
|
||||
let handle = std::thread::spawn(move || {
|
||||
bdwgc_allocator::Allocator::register_current_thread().unwrap();
|
||||
Allocator::register_current_thread().unwrap();
|
||||
|
||||
let mut _n = bdwgc_allocator::Allocator::alloc(2 ^ 8);
|
||||
let mut _n = unsafe { GLOBAL_ALLOCATOR.alloc(Layout::from_size_align(2 ^ 8, 8).unwrap()) };
|
||||
|
||||
loop {
|
||||
_n = bdwgc_allocator::Allocator::alloc(2 ^ 8)
|
||||
_n = unsafe { GLOBAL_ALLOCATOR.alloc(Layout::from_size_align(2 ^ 8, 8).unwrap()) }
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ use libc::{c_int, c_void, size_t};
|
||||
use std::alloc::{GlobalAlloc, Layout};
|
||||
|
||||
const GC_SUCCESS: c_int = 0;
|
||||
const ALLOC_ALIGN: usize = 8;
|
||||
|
||||
#[repr(C)]
|
||||
struct GCStackBase {
|
||||
@@ -51,10 +50,6 @@ impl Allocator {
|
||||
pub fn unregister_current_thread() {
|
||||
unsafe { GC_unregister_my_thread() }
|
||||
}
|
||||
|
||||
pub fn alloc(size: usize) -> *mut u8 {
|
||||
unsafe { Allocator.alloc(Layout::from_size_align_unchecked(size, ALLOC_ALIGN)) }
|
||||
}
|
||||
}
|
||||
|
||||
unsafe impl GlobalAlloc for Allocator {
|
||||
|
||||
Reference in New Issue
Block a user