about summary refs log tree commit diff
path: root/compiler/rustc_data_structures/Cargo.toml
AgeCommit message (Collapse)AuthorLines
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.
2022-03-04Add SmallStrTomasz Miąsko-1/+1
2022-01-22Use an `indexmap` to avoid sorting `LocalDefId`spierwill-1/+1
Update `indexmap` to 1.8.0. Bless test
2022-01-10Update rayon and rustc-rayonJosh Stone-2/+2
2021-10-07Update to measureme v10Ryan Levick-1/+1
2021-10-07Add support for artifact size profilingRyan Levick-1/+1
2021-09-20Migrate to 2021Mark Rousskov-1/+1
2021-08-28Update stacker and psm cratesMateusz Mikuła-1/+1
2021-07-29rfc3052: Remove authors field from Cargo manifestsJade-1/+0
Since RFC 3052 soft deprecated the authors field anyway, hiding it from crates.io, docs.rs, and making Cargo not add it by default, and it is not generally up to date/useful information, we should remove it from crates in this repo.
2021-06-25rustc_data_structures: Drop unused dependency on crossbeam-utilsJosh Triplett-1/+0
rustc_data_structures has a dependency on crossbeam-utils but never uses it. It appears to have originally had this dependency in order to set the "nightly" feature; however, its other dependencies use a different version of crossbeam-utils, so this doesn't actually affect anything. Furthermore, in current crossbeam-utils, the "nightly" feature has become a no-op.
2021-05-25Don't panic when failing to initialize incremental directory.Eric Huss-1/+1
2021-04-29Auto merge of #84614 - RalfJung:daily, r=Mark-Simulacrumbors-1/+0
don't enable parking_lot nightly features Having the compiler itself depend on external libraries that use nightly features can lead to "fun" bootstrap situations. Within the rustc repo we use `cfg(bootstrap)` to resolve those, but that is not a reasonable option for external dependencies. So I propose we stop enabling the "nightly" feature of `parking_lot` here. In my experiments, this then indeed leads to the feature not being enabled (i.e., nothing else enables it), and everything still builds. However, this means parking_lot's `RwLock` will no longer have hardware lock elision for readers -- I hope that is okay to lose in exchange for less bootstrap brain twisting. ;) Cc `@Amanieu`
2021-04-27don't enable parking_lot nightly featuresRalf Jung-1/+0
2021-04-23Use latest crossbeamJubilee Young-1/+1
2021-04-23Use tempfileJubilee Young-1/+1
2021-04-21Use arrayvec 0.7, drop smallvec 0.6Jubilee Young-1/+1
With the arrival of min const generics, many alt-vec libraries have updated to use it in some way and arrayvec is no exception. Use the latest with minor refactoring. Also, rustc_workspace_hack is the only user of smallvec 0.6 in the entire tree, so drop it.
2021-03-30Add an Mmap wrapper to rustc_data_structuresbjorn3-0/+3
This wrapper implements StableAddress and falls back to directly reading the file on wasm32
2021-03-10Update to rustc-rayon 0.3.1Josh Stone-2/+2
This pulls in rust-lang/rustc-rayon#8 to fix #81425. (h/t @ammaraskar) That revealed weak constraints on `rustc_arena::DropArena`, because its `DropType` was holding type-erased raw pointers to generic `T`. We can implement `Send` for `DropType` (under `cfg(parallel_compiler)`) by requiring all `T: Send` before they're type-erased.
2021-02-25Update measureme dependency to the latest versionWesley Wiser-1/+1
This version adds the ability to use `rdpmc` hardware-based performance counters instead of wall-clock time for measuring duration. This also introduces a dependency on the `perf-event-open-sys` crate on Linux which is used when using hardware counters.
2021-02-14bumped smallvec depsklensy-1/+1