-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 4 pull requests #125294
Rollup of 4 pull requests #125294
Conversation
…Jung support `f*_algebraic` supports the [`f*_algebraic`](https://doc.rust-lang.org/std/intrinsics/fn.fadd_algebraic.html) intrinsics.
Use non-null pointer for size 0 posix memalign Fixes rust-lang#3576
a bit of intrinsics organization
Don't print unnecessary sysroot messages Currently, when running `cargo miri setup`, we always print that a sysroot is being prepared, even if we just bail out of building after checking the hash. So that message is wrong; we didn't actually prepare a sysroot. We also always print the preparing message for `cargo miri run`, even if no sysroot is prepared. With this PR, `cargo miri run` prints no sysroot messages when an existing one is reused, and when a redundant `cargo miri setup` is requested, we print: ``` A sysroot for Miri is already available in `/home/ben/.cache/miri`. ```
fixing part of `miri test alloc/hashmap`.
Illumos part3 Fixes rust-lang/miri#3567
intrinsics: just panic when they get used incorrectly This is already what we do most of the time, so do it consistently.
Rustup, aligned heap-allocations on wasm Pulls in rust-lang#125003 so allocation tests should now work on wasm.
attempt changing Bytes in MiriMachine to MiriAllocBytes rename miri_alloc_bytes to alloc_bytes generalize impl VisitProvenance for Allocation for any Bytes: AllocBytes mend MiriAllocBytes -> Self::Bytes fix Invariant documentation and bugs (drop), impl Clone Update MiriAllocBytes description Co-authored-by: Ralf Jung <[email protected]> Rephrase MiriAllocBytes ptr invariant Co-authored-by: Ralf Jung <[email protected]> Update MiriAllocBytes ptr documentation Co-authored-by: Ralf Jung <[email protected]> fix safety comment in MiriAllocBytes::clone fix safety comment in MiriAllocBytes::from_bytes try implementing clone without unsafe remove derive(PartialEq,Eq,Hash), fix fmt move ptr.is_null() check inside only necessary branch use std::ptr::without_provenance_mut, requiring feature(strict_provenance) align.bytes_usize() instead of align.bytes().try_into().unwrap() Update src/provenance_gc.rs Co-authored-by: Ralf Jung <[email protected]> fix clippy error on deref
Adjust Allocation Bytes used by Miri to custom MiriAllocBytes Previously, the `MiriMachine` used `type Bytes = Box<[u8]>` for its allocations. This PR swaps this out for a custom `MiriAllocBytes` type implemented in `alloc_bytes.rs`. This is in anticipation of an extension to Miri's FFI, which will require its allocations to take care of alignment (the methods in `impl AllocBytes for Box<[u8]>` ignore this `_align: Align` argument). Needs rust-lang#124492
Give `FileDescription::{read, write}` access to the `MiriInterpCx ` fixes rust-lang#3572
Ignore the Helix configuration directory For us Helix users.
- share implementation with miri_starting_unwind - make test use a custom unwinding class - extend comments - use NeedsUnwind more consistently
Directly implement native exception raise methods in miri This implements the `_Unwind_RaiseException` function used on pretty much every unix system for starting unwinding. This allows removing the miri special case from libpanic_unwind for unix. Windows still needs `miri_start_unwind` as SEH unwinding isn't supported by miri. Unlike DWARF unwinding, SEH preserves all stack frames until right after the do_catch function has executed. Because of this panic_unwind stack allocates the exception object. Miri can't currently model unwinding without destroying stack frames and as such will report a use-after-free of the exception object.
…ompiler-errors chore: Remove repeated words (extension of rust-lang#124924) When I saw rust-lang#124924 I thought "Hey, I'm sure that there are far more than just two typos of this nature in the codebase". So here's some more typo-fixing. Some found with regex, some found with a spellchecker. Every single one manually reviewed by me (along with hundreds of false negatives by the tools)
…ChrisDenton Add example to IsTerminal::is_terminal
…aDotInTheVoid,Nilstrieb,BoxyUwU make `Debug` impl for `Term` simpler meow
Miri subtree update r? `@ghost`
@bors r+ rollup=never p=4 |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR:
previous master: 1d1283ed09 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (d84b903): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)Results (primary 5.2%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (secondary -6.3%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 668.514s -> 669.127s (0.09%) |
…iaskrgr Rollup of 4 pull requests Successful merges: - rust-lang#124948 (chore: Remove repeated words (extension of rust-lang#124924)) - rust-lang#124992 (Add example to IsTerminal::is_terminal) - rust-lang#125279 (make `Debug` impl for `Term` simpler) - rust-lang#125286 (Miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
Successful merges:
Debug
impl forTerm
simpler #125279 (makeDebug
impl forTerm
simpler)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup