Scott McMurray
35088797ae
Use size_of_val
instead of manual calculation
...
Very minor thing that I happened to notice in passing, but it's both shorter and means it gets `mul nuw`, so why not.
2023-03-17 19:55:49 -07:00
Erik Desjardins
a99e97af97
Add 0..=isize::MAX range metadata to size loads from vtables
2022-12-08 01:30:07 -05:00
Ralf Jung
c78021709a
add is_sized method on Abi and Layout, and use it
2022-11-13 12:23:53 +01:00
Erik Desjardins
50f6a9ed87
use unchecked mul to compute slice sizes
...
...since slice sizes can't signed wrap
see https://doc.rust-lang.org/std/slice/fn.from_raw_parts.html
> The total size len * mem::size_of::<T>() of the slice must be no larger than isize::MAX.
2022-06-14 17:09:07 -04:00
Nicholas Nethercote
ca5525d564
Improve AdtDef
interning.
...
This commit makes `AdtDef` use `Interned`. Much the commit is tedious
changes to introduce getter functions. The interesting changes are in
`compiler/rustc_middle/src/ty/adt.rs`.
2022-03-11 13:31:24 +11:00
Erik Desjardins
2ff5a3e38b
Attach range metadata to alignment loads from vtables
...
...because alignment is always nonzero.
This helps eliminate redundant runtime alignment checks, when a DST
is a field of a struct whose remaining fields have alignment 1.
2021-12-05 16:07:27 -05:00
Charles Lew
a86d3a7e45
Refactor to make interpreter and codegen backend neutral to vtable internal representation.
2021-06-15 01:59:00 +08:00
LeSeulArtichaut
3e14b684dd
Change ty.kind to a method
2020-09-04 17:47:51 +02:00
mark
9e5f7d5631
mv compiler to compiler/
2020-08-30 18:45:07 +03:00