]> git.lizzy.rs Git - rust.git/commit
Make `intern_lazy_const` actually intern its argument.
authorNicholas Nethercote <nnethercote@mozilla.com>
Wed, 6 Feb 2019 00:57:11 +0000 (11:57 +1100)
committerNicholas Nethercote <nnethercote@mozilla.com>
Wed, 6 Feb 2019 01:50:28 +0000 (12:50 +1100)
commitf2871a9ce552cd21b1c7b8df69eefe06af6d59da
tree5e7afb1fbe7aca6c987680ad01b6012ba10b6276
parent8ae730a442cc8af6a487a137ae9ba78f89edbba6
Make `intern_lazy_const` actually intern its argument.

Currently it just unconditionally allocates it in the arena.

For a "Clean Check" build of the the `packed-simd` benchmark, this
change reduces both the `max-rss` and `faults` counts by 59%; it
slightly (~3%) increases the instruction counts but the `wall-time` is
unchanged.

For the same builds of a few other benchmarks, `max-rss` and `faults`
drop by 1--5%, but instruction counts and `wall-time` changes are in the
noise.

Fixes #57432, fixes #57829.
17 files changed:
src/librustc/mir/mod.rs
src/librustc/traits/project.rs
src/librustc/traits/query/normalize.rs
src/librustc/ty/codec.rs
src/librustc/ty/context.rs
src/librustc/ty/structural_impls.rs
src/librustc_mir/build/expr/as_rvalue.rs
src/librustc_mir/build/matches/test.rs
src/librustc_mir/build/misc.rs
src/librustc_mir/hair/cx/expr.rs
src/librustc_mir/hair/cx/mod.rs
src/librustc_mir/shim.rs
src/librustc_mir/transform/elaborate_drops.rs
src/librustc_mir/transform/generator.rs
src/librustc_mir/util/elaborate_drops.rs
src/librustc_typeck/astconv.rs
src/librustc_typeck/check/mod.rs