librustc: Stop zeroing out allocas so much. Cuts 300K off librustc.
This commit is contained in:
parent
1b613ff9fc
commit
97c593a1ce
@ -305,7 +305,7 @@ fn malloc_raw_dyn(bcx: block,
|
||||
|
||||
// Allocate space:
|
||||
let tydesc = PointerCast(bcx, static_ti.tydesc, T_ptr(T_i8()));
|
||||
let rval = alloca_zeroed(bcx, T_ptr(T_i8()));
|
||||
let rval = alloca(bcx, T_ptr(T_i8()));
|
||||
let bcx = callee::trans_rtcall_or_lang_call(
|
||||
bcx,
|
||||
langcall,
|
||||
@ -1504,10 +1504,6 @@ fn alloca(cx: block, t: TypeRef) -> ValueRef {
|
||||
alloca_maybe_zeroed(cx, t, false)
|
||||
}
|
||||
|
||||
fn alloca_zeroed(cx: block, t: TypeRef) -> ValueRef {
|
||||
alloca_maybe_zeroed(cx, t, true)
|
||||
}
|
||||
|
||||
fn alloca_maybe_zeroed(cx: block, t: TypeRef, zero: bool) -> ValueRef {
|
||||
let _icx = cx.insn_ctxt("alloca");
|
||||
if cx.unreachable {
|
||||
|
@ -525,7 +525,7 @@ fn make_opaque_cbox_take_glue(
|
||||
|
||||
// Allocate memory, update original ptr, and copy existing data
|
||||
let opaque_tydesc = PointerCast(bcx, tydesc, T_ptr(T_i8()));
|
||||
let rval = alloca_zeroed(bcx, T_ptr(T_i8()));
|
||||
let rval = alloca(bcx, T_ptr(T_i8()));
|
||||
let bcx = callee::trans_rtcall_or_lang_call(
|
||||
bcx,
|
||||
bcx.tcx().lang_items.exchange_malloc_fn(),
|
||||
|
@ -134,7 +134,7 @@ pub fn free_ty_immediate(bcx: block, v: ValueRef, t: ty::t) -> block {
|
||||
ty::ty_evec(_, ty::vstore_box) |
|
||||
ty::ty_estr(ty::vstore_box) |
|
||||
ty::ty_opaque_closure_ptr(_) => {
|
||||
let vp = alloca_zeroed(bcx, type_of(bcx.ccx(), t));
|
||||
let vp = alloca(bcx, type_of(bcx.ccx(), t));
|
||||
Store(bcx, v, vp);
|
||||
free_ty(bcx, vp, t)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user