diff options
| author | Björn Steinbrink <bsteinbr@gmail.com> | 2014-07-18 21:56:36 +0200 |
|---|---|---|
| committer | Björn Steinbrink <bsteinbr@gmail.com> | 2014-07-18 21:56:36 +0200 |
| commit | d368ffdb26144fd1f451d3d8ba4344b0a8e82f99 (patch) | |
| tree | 51b22a77304b9424a15de919ea80ecf88615a502 | |
| parent | 33a4dd824f708d1e7c25ad26d8a4fe801d0b25e8 (diff) | |
| download | rust-d368ffdb26144fd1f451d3d8ba4344b0a8e82f99.tar.gz rust-d368ffdb26144fd1f451d3d8ba4344b0a8e82f99.zip | |
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.
| -rw-r--r-- | src/librustc/middle/trans/glue.rs | 25 | ||||
| -rw-r--r-- | src/librustc/middle/trans/intrinsic.rs | 2 |
2 files changed, 5 insertions, 22 deletions
diff --git a/src/librustc/middle/trans/glue.rs b/src/librustc/middle/trans/glue.rs index b96f8324651..1e8fdbe300a 100644 --- a/src/librustc/middle/trans/glue.rs +++ b/src/librustc/middle/trans/glue.rs @@ -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], []); } diff --git a/src/librustc/middle/trans/intrinsic.rs b/src/librustc/middle/trans/intrinsic.rs index bb33a5e4f8d..689c758dfbf 100644 --- a/src/librustc/middle/trans/intrinsic.rs +++ b/src/librustc/middle/trans/intrinsic.rs @@ -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") => { |
