diff options
| author | Corey Farwell <coreyf@rwell.org> | 2018-11-23 14:09:08 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-11-23 14:09:08 -0500 |
| commit | ebb1a48b415c1b586bb652d58f3d2078d87f44dd (patch) | |
| tree | f7338faaa66791a15338a938f6a2bf94107de0d1 /src/librustc_codegen_ssa/meth.rs | |
| parent | 033cbfec4d3bb23948a99379f8d63b7cfe5eed45 (diff) | |
| parent | 821bad3a5b13862e9fbfae35b446ab91a976a75e (diff) | |
| download | rust-ebb1a48b415c1b586bb652d58f3d2078d87f44dd.tar.gz rust-ebb1a48b415c1b586bb652d58f3d2078d87f44dd.zip | |
Merge branch 'master' into frewsxcv-dyn
Diffstat (limited to 'src/librustc_codegen_ssa/meth.rs')
| -rw-r--r-- | src/librustc_codegen_ssa/meth.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/librustc_codegen_ssa/meth.rs b/src/librustc_codegen_ssa/meth.rs index 24be932141c..d70fcf60fdf 100644 --- a/src/librustc_codegen_ssa/meth.rs +++ b/src/librustc_codegen_ssa/meth.rs @@ -41,7 +41,7 @@ impl<'a, 'tcx: 'a> VirtualIndex { llvtable, bx.cx().type_ptr_to(bx.cx().fn_ptr_backend_type(fn_ty)) ); - let ptr_align = bx.tcx().data_layout.pointer_align; + let ptr_align = bx.tcx().data_layout.pointer_align.abi; let gep = bx.inbounds_gep(llvtable, &[bx.cx().const_usize(self.0)]); let ptr = bx.load(gep, ptr_align); bx.nonnull_metadata(ptr); @@ -59,7 +59,7 @@ impl<'a, 'tcx: 'a> VirtualIndex { debug!("get_int({:?}, {:?})", llvtable, self); let llvtable = bx.pointercast(llvtable, bx.cx().type_ptr_to(bx.cx().type_isize())); - let usize_align = bx.tcx().data_layout.pointer_align; + let usize_align = bx.tcx().data_layout.pointer_align.abi; let gep = bx.inbounds_gep(llvtable, &[bx.cx().const_usize(self.0)]); let ptr = bx.load(gep, usize_align); // Vtable loads are invariant @@ -100,19 +100,19 @@ pub fn get_vtable<'tcx, Cx: CodegenMethods<'tcx>>( }) }); - let (size, align) = cx.layout_of(ty).size_and_align(); + let layout = cx.layout_of(ty); // ///////////////////////////////////////////////////////////////////////////////////////////// // If you touch this code, be sure to also make the corresponding changes to // `get_vtable` in rust_mir/interpret/traits.rs // ///////////////////////////////////////////////////////////////////////////////////////////// let components: Vec<_> = [ cx.get_fn(monomorphize::resolve_drop_in_place(cx.tcx(), ty)), - cx.const_usize(size.bytes()), - cx.const_usize(align.abi()) + cx.const_usize(layout.size.bytes()), + cx.const_usize(layout.align.abi.bytes()) ].iter().cloned().chain(methods).collect(); let vtable_const = cx.const_struct(&components, false); - let align = cx.data_layout().pointer_align; + let align = cx.data_layout().pointer_align.abi; let vtable = cx.static_addr_of(vtable_const, align, Some("vtable")); cx.create_vtable_metadata(ty, vtable); |
