stop making visit glue for closures and traits
This commit is contained in:
parent
7b1432f6c0
commit
50bee30459
@ -376,7 +376,7 @@ pub fn malloc_raw_dyn<'a>(
|
||||
|
||||
// Get the tydesc for the body:
|
||||
let static_ti = get_tydesc(ccx, t);
|
||||
glue::lazily_emit_all_tydesc_glue(ccx, static_ti);
|
||||
glue::lazily_emit_tydesc_glue(ccx, abi::tydesc_field_drop_glue, static_ti);
|
||||
|
||||
// Allocate space:
|
||||
let tydesc = PointerCast(bcx, static_ti.tydesc, Type::i8p());
|
||||
|
@ -131,7 +131,7 @@ fn simplified_glue_type(tcx: ty::ctxt, field: uint, t: ty::t) -> ty::t {
|
||||
t
|
||||
}
|
||||
|
||||
fn lazily_emit_tydesc_glue(ccx: @CrateContext, field: uint, ti: @tydesc_info) {
|
||||
pub fn lazily_emit_tydesc_glue(ccx: @CrateContext, field: uint, ti: @tydesc_info) {
|
||||
let _icx = push_ctxt("lazily_emit_tydesc_glue");
|
||||
|
||||
let simpl = simplified_glue_type(ccx.tcx, field, ti.ty);
|
||||
|
@ -481,7 +481,7 @@ pub fn get_vtable(bcx: &Block,
|
||||
|
||||
// Generate a type descriptor for the vtable.
|
||||
let tydesc = get_tydesc(ccx, self_ty);
|
||||
glue::lazily_emit_all_tydesc_glue(ccx, tydesc);
|
||||
glue::lazily_emit_tydesc_glue(ccx, abi::tydesc_field_drop_glue, tydesc);
|
||||
|
||||
let vtable = make_vtable(ccx, tydesc, methods);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user