summary refs log tree commit diff
path: root/src/tools/miri
AgeCommit message (Collapse)AuthorLines
2024-03-15fmtRalf Jung-2/+1
2024-03-15Merge from rustcRalf Jung-5/+4
2024-03-15Preparing for merge from rustcRalf Jung-1/+1
2024-03-14Apply the same shell quoting trick we use in the URL toBen Kimock-1/+1
2024-03-14Auto merge of #3379 - RalfJung:time-with-isolation, r=saethlinbors-10/+14
explain time-with-isolation test better Fixes https://github.com/rust-lang/miri/issues/3377 `@saethlin` do you think this is better?
2024-03-14Rollup merge of #122397 - oli-obk:machine-read-hook2, r=RalfJungMatthias Krüger-1/+1
Various cleanups around the const eval query providers r? `@RalfJung` after this, working on running validation before interning starts with swapping the order of two lines of code
2024-03-14explain time-with-isolation test betterRalf Jung-10/+14
2024-03-14Move generate_stacktrace_from_stack away from InterpCx to avoid having to ↵Oli Scherer-1/+1
know the `Machine` type
2024-03-14Rollup merge of #122461 - the8472:fix-step-forward-unchecked, r=AmanieuMatthias Krüger-1/+1
fix unsoundness in Step::forward_unchecked for signed integers Fixes #122420 ```rust pub fn foo(a: i8, b: u8) -> i8 { unsafe { a.checked_add_unsigned(b).unwrap_unchecked() } } ``` still compiles down to a single arithmetic instruction ([godbolt](https://rust.godbolt.org/z/qsd3xYWfE)). But we may be losing some loop optimizations if llvm can no longer easily derive that it's a finite counted loop from the no-wrapping flags.
2024-03-14Auto merge of #3380 - RalfJung:cron, r=RalfJungbors-2/+2
make cron job topic names more consistent
2024-03-14Auto merge of #122243 - RalfJung:local-place-sanity-check, r=oli-obkbors-3/+2
interpret: ensure that Place is never used for a different frame We store the address where the stack frame stores its `locals`. The idea is that even if we pop and push, or switch to a different thread with a larger number of frames, then the `locals` address will most likely change so we'll notice that problem. This is made possible by some recent changes by `@WaffleLapkin,` where we no longer use `Place` across things that change the number of stack frames. I made these debug assertions for now, just to make sure this can't cost us any perf. The first commit is unrelated but it's a one-line comment change so it didn't warrant a separate PR... r? `@oli-obk`
2024-03-14make cron job topic names more consistentRalf Jung-2/+2
2024-03-14fmtThe Miri Cronjob Bot-1/+6
2024-03-14Merge from rustcThe Miri Cronjob Bot-63/+210
2024-03-14Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-03-13Improve sysroots notificationBen Kimock-6/+22
2024-03-14update virtual clock in miri test since signed loops now execute more methodsThe 8472-1/+1
2024-03-13Auto merge of #122240 - RalfJung:miri-addr-reuse, r=oli-obkbors-63/+210
miri: add some chance to reuse addresses of previously freed allocations The hope is that this can help us find ABA issues. Unfortunately this needs rustc changes so I can't easily run the regular benchmark suite. I used `src/tools/miri/tests/pass/float_nan.rs` as a substitute: ``` Before: Benchmark 1: ./x.py run miri --stage 0 --args src/tools/miri/tests/pass/float_nan.rs --args --edition=2021 Time (mean ± σ): 9.570 s ± 0.013 s [User: 9.279 s, System: 0.290 s] Range (min … max): 9.561 s … 9.579 s 2 runs After: Benchmark 1: ./x.py run miri --stage 0 --args src/tools/miri/tests/pass/float_nan.rs --args --edition=2021 Time (mean ± σ): 9.698 s ± 0.046 s [User: 9.413 s, System: 0.279 s] Range (min … max): 9.666 s … 9.731 s 2 runs ``` That's a ~1.3% slowdown, which seems fine to me. I have seen a lot of noise in this style of benchmarking so I don't quite trust this anyway; we can make further experiments in the Miri repo after this migrated there. r? `@oli-obk`
2024-03-12Auto merge of #3370 - RalfJung:windows-sync, r=RalfJungbors-602/+0
windows: remove support for slim rwlock Since https://github.com/rust-lang/rust/pull/121956 we don't need it any more, and we are generally short on Windows staff so reducing the amount of code we have to test and maintain sounds like a good idea. The InitOnce stuff is still used by `thread_local_key::StaticKey` on 64bit windows-gnu.
2024-03-12Merge from rustcThe Miri Cronjob Bot-8/+81
2024-03-12Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-03-11Rollup merge of #122249 - RalfJung:machine-read-hook, r=oli-obkJubilee-0/+62
interpret: do not call machine read hooks during validation Fixes https://github.com/rust-lang/miri/issues/3347 r? ``@oli-obk``
2024-03-11Rollup merge of #122298 - RalfJung:raw-vec-into-box, r=cuviperJacob Pratt-4/+14
RawVec::into_box: avoid unnecessary intermediate reference Fixes the problem described [here](https://github.com/rust-lang/miri/issues/3341#issuecomment-1987207195).
2024-03-11Rollup merge of #121633 - ChrisDenton:precise, r=NilstriebJacob Pratt-4/+5
Win10: Use `GetSystemTimePreciseAsFileTime` directly On Windows 10 we can use `GetSystemTimePreciseAsFileTime` directly instead of lazy loading it (with a fallback).
2024-03-11chore: remove repetitive wordtgolang-1/+1
Signed-off-by: tgolang <seekseat@aliyun.com>
2024-03-10test into_boxed_slice with custom allocator in MiriRalf Jung-4/+14
2024-03-10Auto merge of #122246 - RalfJung:miri, r=RalfJungbors-260/+238
Miri subtree update r? `@ghost` `@WaffleLapkin` when this lands, setting `MIRI_TEMP` should not be needed any more on the dev desktops.
2024-03-10remove unnecessary frame parameter from after_local_allocatedRalf Jung-2/+1
2024-03-10fmtThe Miri Cronjob Bot-12/+4
2024-03-10Merge from rustcThe Miri Cronjob Bot-13/+205
2024-03-10Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-03-09windows: remove support for slim rwlockRalf Jung-602/+0
Since https://github.com/rust-lang/rust/pull/121956 we don't need it any more, and we are generally short on Windows staff so reducing the amount of code we have to test and maintain sounds like a good idea. The InitOnce stuff is still used by `thread_local_key::StaticKey`.
2024-03-09interpret: do not call machine read hooks during validationRalf Jung-0/+62
2024-03-09miri: add some chance to reuse addresses of previously freed allocationsRalf Jung-39/+182
2024-03-09simplify no-std testsRalf Jung-17/+9
set panic=abort so that we do not need this eh_personality thing
2024-03-09remove some frame parameters that are no longer neededRalf Jung-1/+1
2024-03-09rename intptrcast -> alloc_addresses, and make a folder for itRalf Jung-13/+16
2024-03-09interpret: pass Size and Align to before_memory_deallocationRalf Jung-13/+14
2024-03-09miri: do not apply aliasing restrictions to Box with custom allocatorRalf Jung-13/+205
2024-03-09Auto merge of #3367 - rust-lang:rustup-2024-03-09, r=RalfJungbors-14/+10
Automatic Rustup
2024-03-09fix clippy lintsRalf Jung-1/+1
2024-03-09rename tests/compiletest → tests/uiRalf Jung-4/+4
2024-03-09fmtThe Miri Cronjob Bot-1/+2
2024-03-09Merge from rustcThe Miri Cronjob Bot-13/+8
2024-03-09Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-03-09compiletest: create fresh tempdir for tests to useRalf Jung-15/+32
2024-03-08Rollup merge of #122076 - WaffleLapkin:mplace-args, r=RalfJungMatthias Krüger-11/+4
Tweak the way we protect in-place function arguments in interpreters Use `MPlaceTy` instead of `PlaceTy` in `FnArg` and ignore (copy) locals in an earlier step ("Locals that don't have their address taken are as protected as they can ever be"). This seems to be crucial for tail call support (as they can't refer to caller's locals which are killed when replacing the stack frame). r? `@RalfJung` cc `@oli-obk` see https://github.com/rust-lang/rust/pull/121273#issuecomment-1980210690
2024-03-08Tweak the way we protect in-place function arguments in interpretersMaybe Waffle-11/+4
Use `MPlaceTy` instead of `PlaceTy` in `FnArg` and ignore (copy) locals in an earlier step ("Locals that don't have their address taken are as protected as they can ever be"). This seems to be crucial for tail call support (as they can't refer to caller's locals which are killed when replacing the stack frame).
2024-03-08Rollup merge of #121194 - beetrees:rustc-raw-args, r=petrochenkovMatthias Krüger-2/+4
Refactor pre-getopts command line argument handling Rebased version of #111658. I've also fixed the Windows CI failure (although I don't have access to Windows to test it myself).
2024-03-08fix clippy lintsRalf Jung-5/+5