rust/compiler/rustc_const_eval/src
bors 38eecca62c Auto merge of #118073 - saethlin:gc-dead-allocs, r=RalfJung
Miri: GC the dead_alloc_map too

dead_alloc_map is the last piece of state in the interpreter I can find that leaks. With this PR, all of the long-term memory growth I can find in Miri with programs that do things like run a big `loop {` or run property tests is attributable to some data structure properties in borrow tracking, and is _extremely_ slow.

My only gripe with the commit in this PR is that I don't have a new test for it. I'd like to have a regression test for this, but it would have to be statistical I think because the peak memory of a process that Linux reports is not exactly the same run-to-run. Which means it would have to not be very sensitive to slow leaks (some guesswork suggests for acceptable CI time we would be checking for like 10% memory growth over a minute or two, which is still pretty fast IMO).

Unless someone has a better idea for how to detect a regression, I think on balance I'm fine with manually keeping an eye on the memory use situation.

r? RalfJung
2023-11-23 08:20:21 +00:00
..
const_eval Rollup merge of #118147 - Nilstrieb:no-redundant-casts, r=WaffleLapkin 2023-11-22 09:28:51 -08:00
interpret Auto merge of #118073 - saethlin:gc-dead-allocs, r=RalfJung 2023-11-23 08:20:21 +00:00
transform Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
util Turn const_caller_location from a query to a hook 2023-10-31 16:15:18 +00:00
errors.rs more precise error for 'based on misaligned pointer' case 2023-10-15 18:13:33 +02:00
lib.rs Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00