about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa/meth.rs
diff options
context:
space:
mode:
authorCorey Farwell <coreyf@rwell.org>2018-11-23 14:09:08 -0500
committerGitHub <noreply@github.com>2018-11-23 14:09:08 -0500
commitebb1a48b415c1b586bb652d58f3d2078d87f44dd (patch)
treef7338faaa66791a15338a938f6a2bf94107de0d1 /src/librustc_codegen_ssa/meth.rs
parent033cbfec4d3bb23948a99379f8d63b7cfe5eed45 (diff)
parent821bad3a5b13862e9fbfae35b446ab91a976a75e (diff)
downloadrust-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.rs12
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);