diff options
| author | bors <bors@rust-lang.org> | 2019-04-14 08:55:16 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-04-14 08:55:16 +0000 |
| commit | 60076bb8f7e7ca7fc98ca432cda86dbdce7c0417 (patch) | |
| tree | de26cfa982fdac3f30f74965f94c0a0b86d5f3ff /src/rustllvm/RustWrapper.cpp | |
| parent | 464473ab3b4bedb89fa6841ab2ceea83cb8d75fe (diff) | |
| parent | fd7f605365b27bfdd3cd6763124e81bddd61dd28 (diff) | |
| download | rust-60076bb8f7e7ca7fc98ca432cda86dbdce7c0417.tar.gz rust-60076bb8f7e7ca7fc98ca432cda86dbdce7c0417.zip | |
Auto merge of #59693 - nnethercote:64-bit-Spans, r=petrochenkov
Increase `Span` from 4 bytes to 8 bytes. This increases the size of some important types, such as `ast::Expr` and `mir::Statement`. However, it drastically reduces how much the interner is used, and the fields are more natural sizes that don't require bit operations to extract. As a result, instruction counts drop across a range of workloads, by as much as 10% for `script-servo` incremental builds. Peak memory usage goes up a little for some cases, but down by more for some other cases -- as much as 18% for non-incremental builds of `packed-simd`. The commit also: - removes the `repr(packed)`, because it has negligible effect, but can cause undefined behaviour; - replaces explicit impls of common traits (`Copy`, `PartialEq`, etc.) with derived ones. r? @petrochenkov
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
