get rid of libc_heap::{malloc_raw, realloc_raw}

The C standard library functions should be used directly. The quirky
NULL / zero-size allocation workaround is no longer necessary and was
adding an extra branch to the allocator code path in a build without
jemalloc. This is a small step towards liballoc being compatible with
handling OOM errors instead of aborting (#18292).

[breaking-change]
This commit is contained in:
Daniel Micay
2014-10-24 17:34:57 -04:00
parent 6f253bd49e
commit 2bc4d3ec23
6 changed files with 30 additions and 66 deletions

View File

@@ -54,11 +54,8 @@
//!
//! ## Heap interfaces
//!
//! The [`heap`](heap/index.html) and [`libc_heap`](libc_heap/index.html)
//! modules are the unsafe interfaces to the underlying allocation systems. The
//! `heap` module is considered the default heap, and is not necessarily backed
//! by libc malloc/free. The `libc_heap` module is defined to be wired up to
//! the system malloc/free.
//! The [`heap`](heap/index.html) module defines the low-level interface to the
//! default global allocator. It is not compatible with the libc allocator API.
#![crate_name = "alloc"]
#![experimental]
@@ -90,7 +87,6 @@ pub use boxed as owned;
// Heaps provided for low-level allocation strategies
pub mod heap;
pub mod libc_heap;
// Primitive types using the heaps above