| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-07-31 | Move from `log` to `tracing` | Oliver Scherer | -1/+1 | |
| 2020-06-19 | Update chalk | Jack Huey | -1/+1 | |
| 2020-06-02 | Rename the crates in source code | Vadim Petrochenkov | -1/+1 | |
| 2020-06-02 | Make things build again | Vadim Petrochenkov | -2/+2 | |
| 2020-05-22 | Replace `rustc_data_structures::sync::Once` with `OnceCell` | Dylan MacKenzie | -0/+1 | |
| 2020-05-10 | update stacker to 0.1.9 to unbreak build on OpenBSD | Sébastien Marie | -1/+1 | |
| 2020-05-07 | Auto merge of #55617 - oli-obk:stacker, r=nagisa,oli-obk | bors | -0/+1 | |
| Prevent compiler stack overflow for deeply recursive code I was unable to write a test that 1. runs in under 1s 2. overflows on my machine without this patch The following reproduces the issue, but I don't think it's sensible to include a test that takes 30s to compile. We can now easily squash newly appearing overflows by the strategic insertion of calls to `ensure_sufficient_stack`. ```rust // compile-pass #![recursion_limit="1000000"] macro_rules! chain { (EE $e:expr) => {$e.sin()}; (RECURSE $i:ident $e:expr) => {chain!($i chain!($i chain!($i chain!($i $e))))}; (Z $e:expr) => {chain!(RECURSE EE $e)}; (Y $e:expr) => {chain!(RECURSE Z $e)}; (X $e:expr) => {chain!(RECURSE Y $e)}; (A $e:expr) => {chain!(RECURSE X $e)}; (B $e:expr) => {chain!(RECURSE A $e)}; (C $e:expr) => {chain!(RECURSE B $e)}; // causes overflow on x86_64 linux // less than 1 second until overflow on test machine // after overflow has been fixed, takes 30s to compile :/ (D $e:expr) => {chain!(RECURSE C $e)}; (E $e:expr) => {chain!(RECURSE D $e)}; (F $e:expr) => {chain!(RECURSE E $e)}; // more than 10 seconds (G $e:expr) => {chain!(RECURSE F $e)}; (H $e:expr) => {chain!(RECURSE G $e)}; (I $e:expr) => {chain!(RECURSE H $e)}; (J $e:expr) => {chain!(RECURSE I $e)}; (K $e:expr) => {chain!(RECURSE J $e)}; (L $e:expr) => {chain!(RECURSE L $e)}; } fn main() { let x = chain!(D 42.0_f32); } ``` fixes #55471 fixes #41884 fixes #40161 fixes #34844 fixes #32594 cc @alexcrichton @rust-lang/compiler I looked at all code that checks the recursion limit and inserted stack growth calls where appropriate. | ||||
| 2020-05-05 | Move region_constraint to the unified undo log | Markus Westerlind | -1/+1 | |
| 2020-05-02 | Move ensure_sufficient_stack to data_structures | Simonas Kazlauskas | -0/+1 | |
| We anticipate this to have uses in all sorts of crates and keeping it in `rustc_data_structures` enables access to it from more locations without necessarily pulling in the large `librustc` crate. | ||||
| 2020-04-11 | Depend on libc from crates.io | Luca Barbieri | -0/+1 | |
| 2020-03-26 | Upgrade rustc and bootstrap dependencies | Mateusz Mikuła | -2/+2 | |
| 2020-01-11 | use winapi for non-stdlib Windows bindings | Andy Russell | -0/+3 | |
| 2020-01-10 | Update measureme to 0.7.1 in order to fix compilation error on big-endian ↵ | Michael Woerister | -1/+1 | |
| platforms. | ||||
| 2020-01-10 | Initial support for recording query keys in self-profiling data. | Michael Woerister | -1/+1 | |
| 2020-01-10 | self-profile: Switch to new approach for event_id generation that enables ↵ | Michael Woerister | -1/+1 | |
| query-invocation-specific event_ids. | ||||
| 2019-12-03 | Update measureme crate to 0.5.0. | Michael Woerister | -1/+1 | |
| 2019-11-12 | Move self-profile infrastructure to data structures | Mark Rousskov | -0/+2 | |
| The single dependency on queries (QueryName) can be fairly easily abstracted via a trait and this further decouples Session from librustc (the primary goal). | ||||
| 2019-11-04 | bump smallvec to 1.0 | Ralf Jung | -1/+1 | |
| 2019-10-07 | Rebase rustc-rayon on rayon-1.2 | Josh Stone | -2/+2 | |
| See also https://github.com/rust-lang/rustc-rayon/pull/3 | ||||
| 2019-09-29 | move index_vec into rustc_index | csmoe | -0/+1 | |
| 2019-09-20 | Upgrade to ena-0.13.1 and use the new `inlined_probe_value` function. | Nicholas Nethercote | -1/+1 | |
| This is a big speed win for `keccak` and `inflate`. | ||||
| 2019-09-11 | Upgrade parking_lot and tempfile rustc dependencies | Mateusz Mikuła | -1/+1 | |
| 2019-07-23 | cleanup: Remove `extern crate serialize as rustc_serialize`s | Vadim Petrochenkov | -1/+1 | |
| 2019-07-10 | Add an AtomicCell abstraction | John Kåre Alsaker | -0/+1 | |
| 2019-07-07 | rustc: Remove `dylib` crate type from most rustc crates | Alex Crichton | -2/+1 | |
| Now that procedural macros no longer link transitively to libsyntax, this shouldn't be needed any more! This commit is an experiment in removing all dynamic libraries from rustc except for librustc_driver itself. Let's see how far we can get with that! | ||||
| 2019-06-01 | rustc: use indexmap instead of a plain vector for upvars. | Eduard-Mihai Burtescu | -0/+1 | |
| 2019-04-26 | Update rustc-rayon version | John Kåre Alsaker | -2/+2 | |
| 2019-04-09 | Clean up jobserver integration | John Kåre Alsaker | -1/+1 | |
| 2019-03-27 | Update ena to version 0.13.0 | varkor | -1/+1 | |
| 2019-03-27 | Update ena | varkor | -1/+1 | |
| 2019-03-01 | Add support for using a jobserver with Rayon | John Kåre Alsaker | -2/+4 | |
| 2019-02-22 | Update parking_lot to 0.7 | Bastien Orivel | -1/+1 | |
| Unfortunately this'll dupe parking_lot until the data_structures crate is published and be updated in rls in conjunction with crossbeam-channel | ||||
| 2019-02-09 | librustc_data_structures => 2018 | Taiki Endo | -2/+3 | |
| 2018-12-10 | Upgrade `smallvec` to 0.6.7 and use the new `may_dangle` feature. | Nicholas Nethercote | -1/+1 | |
| 2018-11-25 | Update to `ena` 0.11.0. | Nicholas Nethercote | -1/+1 | |
| This version has some significant speed-ups relating to snapshotting. | ||||
| 2018-11-21 | rustc: implement and use Default on more types. | Eduard-Mihai Burtescu | -1/+1 | |
| 2018-11-16 | remove unused dependency | Andreas Jonson | -1/+0 | |
| 2018-10-14 | Added graphviz visualization for obligation forests. | Diogo Sousa | -0/+1 | |
| This can be a big help when debugging the trait resolver. | ||||
| 2018-09-04 | Breaking change upgrades | Mark Rousskov | -1/+1 | |
| 2018-08-23 | Use optimized SmallVec implementation | Igor Gutorov | -0/+1 | |
| 2018-06-06 | Update Rayon version | John Kåre Alsaker | -2/+2 | |
| 2018-06-01 | Add a WorkerLocal abstraction | John Kåre Alsaker | -0/+1 | |
| 2018-05-28 | Update rustc-hash to hash up to 8 bytes at once with FxHasher | John Kåre Alsaker | -1/+1 | |
| 2018-05-24 | get `rustc_hash` from external crate | Niko Matsakis | -0/+1 | |
| 2018-05-18 | use `reset_unifications` instead of creating new unification table | Niko Matsakis | -1/+1 | |
| 2018-05-13 | Add parallel abstractions | John Kåre Alsaker | -0/+1 | |
| 2018-04-26 | rustc_target: move in syntax::abi and flip dependency. | Irina Popa | -0/+1 | |
| 2018-03-01 | Bump ena | Sean Griffin | -1/+1 | |
| 2018-03-01 | obtain `UnificationTable` and `snapshot_vec` from `ena` instead | Niko Matsakis | -0/+1 | |
| The ena version has an improved interface. I suspect `librustc_data_structures` should start migrating out to crates.io in general. | ||||
| 2018-01-07 | Try to fix a perf regression by updating log | Malo Jaffré | -2/+2 | |
| Upgrade `log` to `0.4` in multiple crates. | ||||
