1
Fork 0

Remove the unneeded final parameter from call_visit_glue

call_visit_glue() is only ever called with None as its last argument, so
we can remove it as well.
This commit is contained in:
Björn Steinbrink 2014-07-18 21:56:36 +02:00
parent 33a4dd824f
commit d368ffdb26
2 changed files with 5 additions and 22 deletions

View file

@ -178,29 +178,12 @@ pub fn lazily_emit_visit_glue(ccx: &CrateContext, ti: &tydesc_info) -> ValueRef
}
// See [Note-arg-mode]
pub fn call_visit_glue(bcx: &Block, v: ValueRef, tydesc: ValueRef,
static_ti: Option<&tydesc_info>) {
pub fn call_visit_glue(bcx: &Block, v: ValueRef, tydesc: ValueRef) {
let _icx = push_ctxt("call_visit_glue");
let ccx = bcx.ccx();
let static_glue_fn = static_ti.map(|sti| lazily_emit_visit_glue(ccx, sti));
// When static type info is available, avoid casting to a generic pointer.
let llrawptr = if static_glue_fn.is_none() {
PointerCast(bcx, v, Type::i8p(ccx))
} else {
v
};
let llfn = {
match static_glue_fn {
None => {
// Select out the glue function to call from the tydesc
let llfnptr = GEPi(bcx, tydesc, [0u, abi::tydesc_field_visit_glue]);
Load(bcx, llfnptr)
}
Some(sgf) => sgf
}
};
// Select the glue function to call from the tydesc
let llfn = Load(bcx, GEPi(bcx, tydesc, [0u, abi::tydesc_field_visit_glue]));
let llrawptr = PointerCast(bcx, v, Type::i8p(bcx.ccx()));
Call(bcx, llfn, [llrawptr], []);
}

View file

@ -290,7 +290,7 @@ pub fn trans_intrinsic_call<'a>(mut bcx: &'a Block<'a>, node: ast::NodeId,
let td = *llargs.get(0);
let visitor = *llargs.get(1);
let td = PointerCast(bcx, td, ccx.tydesc_type().ptr_to());
glue::call_visit_glue(bcx, visitor, td, None);
glue::call_visit_glue(bcx, visitor, td);
C_nil(ccx)
}
(_, "offset") => {