about summary refs log tree commit diff
path: root/compiler/rustc_data_structures/Cargo.toml
AgeCommit message (Collapse)AuthorLines
2025-01-27Flip the `rustc-rayon`/`indexmap` dependency orderJosh Stone-2/+2
[`rustc-rayon v0.5.1`](https://github.com/rust-lang/rustc-rayon/pull/14) added `indexmap` implementations that will allow `indexmap` to drop its own "internal-only" implementations. (This is separate from `indexmap`'s implementation for normal `rayon`.)
2025-01-21bumpt compiler and tools to windows 0.59klensy-1/+1
2024-11-12Delete the `cfg(not(parallel))` serial compilerNoratrieb-7/+2
Since it's inception a long time ago, the parallel compiler and its cfgs have been a maintenance burden. This was a necessary evil the allow iteration while not degrading performance because of synchronization overhead. But this time is over. Thanks to the amazing work by the parallel working group (and the dyn sync crimes), the parallel compiler has now been fast enough to be shipped by default in nightly for quite a while now. Stable and beta have still been on the serial compiler, because they can't use `-Zthreads` anyways. But this is quite suboptimal: - the maintenance burden still sucks - we're not testing the serial compiler in nightly Because of these reasons, it's time to end it. The serial compiler has served us well in the years since it was split from the parallel one, but it's over now. Let the knight slay one head of the two-headed dragon!
2024-10-20Update rustc-hash to version 2Noratrieb-1/+1
This brings in the new algorithm.
2024-09-27bump few depsklensy-1/+1
cargo_metadata, thorin-dwp, windows
2024-08-28Update stacker to 0.1.17Rain-1/+1
The main new feature is support for detecting the current stack size on illumos. (See my blog post [1] for the context which led to this.) [1]: https://sunshowers.io/posts/rustc-segfault-illumos/
2024-08-13Update `indexmap` and use `IndexMap::append`Josh Stone-1/+1
2024-07-15Use dep: for crate dependenciesMichael Goulet-1/+1
2024-07-11Use uplifted `rustc-stable-hash` crate in `rustc_data_structures`Urgau-0/+1
2024-06-28rustc_data_structures: Explicitly check for 64-bit atomics supportJohn Paul Adrian Glaubitz-1/+1
Instead of keeping a list of architectures which have native support for 64-bit atomics, just use #[cfg(target_has_atomic = "64")] and its inverted counterpart to determine whether we need to use portable AtomicU64 on the target architecture.
2024-06-24rustc_data_structures: Use portable AtomicU64 on 32-bit SPARCJohn Paul Adrian Glaubitz-1/+1
While at it, order the list of architectures alphabetically.
2024-06-13Remove some unnecessary crate dependencies.Nicholas Nethercote-1/+5
2024-06-10Remove some unused crate dependencies.Nicholas Nethercote-2/+1
I found these by setting the `unused_crate_dependencies` lint temporarily to `Warn`.
2024-05-06Update ena to 0.14.3Michael Goulet-1/+1
2024-02-18windows bump to 0.52klensy-1/+1
2024-02-09Update jobserver-rs to 0.1.28Vadim Petrochenkov-1/+1
2024-01-24rustc_data_structures: use either instead of itertoolsJosh Stone-1/+1
2024-01-13Update measureme crate to version 11Michael Woerister-1/+1
2023-12-30Update to bitflags 2 in the compilerNilstrieb-1/+1
This involves lots of breaking changes. There are two big changes that force changes. The first is that the bitflag types now don't automatically implement normal derive traits, so we need to derive them manually. Additionally, bitflags now have a hidden inner type by default, which breaks our custom derives. The bitflags docs recommend using the impl form in these cases, which I did.
2023-11-29jobserver: check file descriptorsbelovdv-1/+1
2023-11-22Update itertools to 0.11.Nicholas Nethercote-1/+1
Because the API for `with_position` improved in 0.11 and I want to use it.
2023-11-06use portable AtomicU64 for powerPC and MIPSSparrowLii-0/+3
2023-10-30Clean up `rustc_*/Cargo.toml`.Nicholas Nethercote-11/+11
- Sort dependencies and features sections. - Add `tidy` markers to the sorted sections so they stay sorted. - Remove empty `[lib`] sections. - Remove "See more keys..." comments. Excluded files: - rustc_codegen_{cranelift,gcc}, because they're external. - rustc_lexer, because it has external use. - stable_mir, because it has external use.
2023-10-19Initiate the inner usage of `cfg_match`Caio-1/+0
2023-08-03bump parking_lot 0.11 to 0.12klensy-1/+1
2023-07-03Upgrade to indexmap 2.0.0Josh Stone-1/+1
The new version was already added to the tree as an indirect dependency in #113046, but now our direct dependents are using it too.
2023-05-13Auto merge of #107586 - SparrowLii:parallel-query, r=cjgillotbors-0/+1
Introduce `DynSend` and `DynSync` auto trait for parallel compiler part of parallel-rustc #101566 This PR introduces `DynSend / DynSync` trait and `FromDyn / IntoDyn` structure in rustc_data_structure::marker. `FromDyn` can dynamically check data structures for thread safety when switching to parallel environments (such as calling `par_for_each_in`). This happens only when `-Z threads > 1` so it doesn't affect single-threaded mode's compile efficiency. r? `@cjgillot`
2023-05-09bump windows crate 0.46 -> 0.48 in workspaceklensy-1/+1
2023-05-06introduce `DynSend` and `DynSync` auto traitSparrowLii-0/+1
2023-04-22drop unused deps, gate libc under unix for one crateklensy-1/+0
2023-04-16Don't use `serde_json` to serialize a simple JSON objectNilstrieb-1/+0
This avoids `rustc_data_structures` depending on `serde_json` which allows it to be compiled much earlier, unlocking most of rustc.
2023-04-11Use `itertools::Either` instead of own `EitherIter` implMaybe Waffle-0/+1
2023-04-05Use elsa =1.7.1 as 1.8.0 was an accidental copy of 1.7.0Oli Scherer-1/+1
2023-03-25Update indexmap and rayon cratesJohn Kåre Alsaker-4/+4
2023-03-21Add `-Z time-passes-format` to allow specifying a JSON output for `-Z ↵John Kåre Alsaker-0/+1
time-passes`
2023-03-20migrate compiler, bootstrap, and compiletest to windows-rsAndy Russell-2/+9
2023-03-17Fast path that skips over unchanged obligations in process_obligationsThe 8472-1/+1
- only borrow the refcell once per loop - avoid complex matches to reduce branch paths in the hot loop - use a by-ref fast path that avoids mutations at the expense of having false negatives
2023-02-24Upgrade `ena` to 0.14.1.Nicholas Nethercote-1/+1
To get the small performance improvements from https://github.com/rust-lang/ena/pull/43.
2023-02-22Auto merge of #108300 - oli-obk:elsa, r=eholkbors-0/+1
Use a lock-free datastructure for source_span follow up to the perf regression in https://github.com/rust-lang/rust/pull/105462 The main regression is likely the CStore, but let's evaluate the perf impact of this on its own
2023-02-21Use a lock-free datastructure for `source_span`Oli Scherer-0/+1
2023-02-21Upgrade `thin-vec` from 0.2.9 to 0.2.12.Nicholas Nethercote-1/+1
Because 0.2.10 added supports for `ThinVec::splice`, and 0.2.12 is the latest release.
2022-12-20Bump `cfg-if` to `1.0`Chris Denton-2/+6
2022-11-05Update several crates for improved support of the new targetsMateusz Mikuła-1/+1
This helps with `*-windows-gnullvm` targets
2022-11-02rustdoc: use ThinVec for cleaned genericsMichael Howell-1/+1
2022-09-29Remove from compiler/ cratesreez12g-1/+0
2022-08-29Replace `rustc_data_structures::thin_vec::ThinVec` with `thin_vec::ThinVec`.Nicholas Nethercote-11/+12
`rustc_data_structures::thin_vec::ThinVec` looks like this: ``` pub struct ThinVec<T>(Option<Box<Vec<T>>>); ``` It's just a zero word if the vector is empty, but requires two allocations if it is non-empty. So it's only usable in cases where the vector is empty most of the time. This commit removes it in favour of `thin_vec::ThinVec`, which is also word-sized, but stores the length and capacity in the same allocation as the elements. It's good in a wider variety of situation, e.g. in enum variants where the vector is usually/always non-empty. The commit also: - Sorts some `Cargo.toml` dependency lists, to make additions easier. - Sorts some `use` item lists, to make additions easier. - Changes `clean_trait_ref_with_bindings` to take a `ThinVec<TypeBinding>` rather than a `&[TypeBinding]`, because this avoid some unnecessary allocations.
2022-07-17Upgrade indexmap and thorin-dwp to use hashbrown 0.12Josh Stone-1/+1
This removes the last dependencies on hashbrown 0.11.
2022-06-27Update `smallvec` to 1.8.1.Nicholas Nethercote-1/+1
This pulls in https://github.com/servo/rust-smallvec/pull/282, which gives some small wins for rustc.
2022-05-27Update to rebased rustc-rayon 0.4Josh Stone-3/+3
2022-03-28Propagate `parallel_compiler` feature through rustc crates. Turned off ↵klensy-3/+6
feature gives change of builded crates: 238 -> 224.