Skip to content

Commit 72a92b2

Browse files
committed
implement sized deallocation
Closes #13994
1 parent 92b0926 commit 72a92b2

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/liballoc/heap.rs

+11
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,10 @@ mod imp {
178178
flags: c_int) -> *mut c_void;
179179
fn je_xallocx(ptr: *mut c_void, size: size_t, extra: size_t,
180180
flags: c_int) -> size_t;
181+
#[cfg(stage0)]
181182
fn je_dallocx(ptr: *mut c_void, flags: c_int);
183+
#[cfg(not(stage0))]
184+
fn je_sdallocx(ptr: *mut c_void, size: size_t, flags: c_int);
182185
fn je_nallocx(size: size_t, flags: c_int) -> size_t;
183186
fn je_malloc_stats_print(write_cb: Option<extern "C" fn(cbopaque: *mut c_void,
184187
*const c_char)>,
@@ -229,11 +232,19 @@ mod imp {
229232
}
230233

231234
#[inline]
235+
#[cfg(stage0)]
232236
pub unsafe fn deallocate(ptr: *mut u8, _size: uint, align: uint) {
233237
let flags = align_to_flags(align);
234238
je_dallocx(ptr as *mut c_void, flags)
235239
}
236240

241+
#[inline]
242+
#[cfg(not(stage0))]
243+
pub unsafe fn deallocate(ptr: *mut u8, size: uint, align: uint) {
244+
let flags = align_to_flags(align);
245+
je_sdallocx(ptr as *mut c_void, size as size_t, flags)
246+
}
247+
237248
#[inline]
238249
pub fn usable_size(size: uint, align: uint) -> uint {
239250
let flags = align_to_flags(align);

0 commit comments

Comments
 (0)