about summary refs log tree commit diff
path: root/src/librustc_data_structures
AgeCommit message (Collapse)AuthorLines
2019-03-27Update ena to version 0.13.0varkor-1/+1
2019-03-27Update enavarkor-1/+1
2019-03-13Use derive macro for HashStableJohn Kåre Alsaker-0/+10
2019-03-13Fix newtype_indexJohn Kåre Alsaker-2/+6
2019-03-10Make the rustc driver and interface demand drivenJohn Kåre Alsaker-0/+175
2019-03-09Rollup merge of #58679 - Zoxc:passes-refactor, r=michaelwoeristerMazdak Farrokhzad-7/+54
Refactor passes and pass execution to be more parallel For `syntex_syntax` (with 16 threads and 8 cores): - Cuts `misc checking 1` from `0.096s` to `0.08325s`. - Cuts `misc checking 2` from `0.3575s` to `0.2545s`. - Cuts `misc checking 3` from `0.34625s` to `0.21375s`. - Cuts `wf checking` from `0.3085s` to `0.05025s`. Reduces overall execution time for `syntex_syntax` (with 8 threads and cores) from `4.92s` to `4.34s`. Subsumes https://github.com/rust-lang/rust/pull/58494 Blocked on https://github.com/rust-lang/rust/pull/58250 r? @michaelwoerister
2019-03-08expand unused doc comment diagnosticAndy Russell-5/+25
Report the diagnostic on macro expansions, and add a label indicating why the comment is unused.
2019-03-06Add some commentsJohn Kåre Alsaker-1/+7
2019-03-06Execute all parallel blocks even if they panic in a single-threaded compilerJohn Kåre Alsaker-1/+41
2019-03-06Run the first block in a parallel! macro directly in the scope which ↵John Kåre Alsaker-5/+6
guarantees that it will run immediately
2019-03-02Bootstrap compiler update for 1.35 releaseMark Rousskov-2/+1
2019-03-01Address commentsJohn Kåre Alsaker-5/+8
2019-03-01Add support for using a jobserver with RayonJohn Kåre Alsaker-2/+158
2019-02-22Update parking_lot to 0.7Bastien 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-15Always emit an error for a query cycleJohn Kåre Alsaker-0/+6
2019-02-12Auto merge of #58341 - alexreg:cosmetic-2-doc-comments, r=steveklabnikbors-61/+61
Cosmetic improvements to doc comments This has been factored out from https://github.com/rust-lang/rust/pull/58036 to only include changes to documentation comments (throughout the rustc codebase). r? @steveklabnik Once you're happy with this, maybe we could get it through with r=1, so it doesn't constantly get invalidated? (I'm not sure this will be an issue, but just in case...) Anyway, thanks for your advice so far!
2019-02-11Use `allow_internal_unstable` in rustc itselfOliver Scherer-1/+2
2019-02-10rustc: doc commentsAlexander Regueiro-61/+61
2019-02-09librustc_data_structures => 2018Taiki Endo-107/+86
2019-02-07Rollup merge of #58185 - GuillaumeGomez:images-url, r=SimonSapinGuillaume Gomez-3/+1
Remove images' url to make it work even without internet connection Needed for local std docs mainly. cc @SimonSapin r? @QuietMisdreavus
2019-02-07Remove images' url to make it work even without internet connectionGuillaume Gomez-3/+1
2019-02-07Auto merge of #58010 - Zoxc:parallel-passes, r=michaelwoeristerbors-0/+27
Move privacy checking later in the pipeline and make some passes run in parallel r? @michaelwoerister
2019-02-06Overhaul `syntax::fold::Folder`.Nicholas Nethercote-0/+9
This commit changes `syntax::fold::Folder` from a functional style (where most methods take a `T` and produce a new `T`) to a more imperative style (where most methods take and modify a `&mut T`), and renames it `syntax::mut_visit::MutVisitor`. The first benefit is speed. The functional style does not require any reallocations, due to the use of `P::map` and `MoveMap::move_{,flat_}map`. However, every field in the AST must be overwritten; even those fields that are unchanged are overwritten with the same value. This causes a lot of unnecessary memory writes. The imperative style reduces instruction counts by 1--3% across a wide range of workloads, particularly incremental workloads. The second benefit is conciseness; the imperative style is usually more concise. E.g. compare the old functional style: ``` fn fold_abc(&mut self, abc: ABC) { ABC { a: fold_a(abc.a), b: fold_b(abc.b), c: abc.c, } } ``` with the imperative style: ``` fn visit_abc(&mut self, ABC { a, b, c: _ }: &mut ABC) { visit_a(a); visit_b(b); } ``` (The reductions get larger in more complex examples.) Overall, the patch removes over 200 lines of code -- even though the new code has more comments -- and a lot of the remaining lines have fewer characters. Some notes: - The old style used methods called `fold_*`. The new style mostly uses methods called `visit_*`, but there are a few methods that map a `T` to something other than a `T`, which are called `flat_map_*` (`T` maps to multiple `T`s) or `filter_map_*` (`T` maps to 0 or 1 `T`s). - `move_map.rs`/`MoveMap`/`move_map`/`move_flat_map` are renamed `map_in_place.rs`/`MapInPlace`/`map_in_place`/`flat_map_in_place` to reflect their slightly changed signatures. - Although this commit renames the `fold` module as `mut_visit`, it keeps it in the `fold.rs` file, so as not to confuse git. The next commit will rename the file.
2019-01-30Move privacy checking later in the pipeline and make some passes run in parallelJohn Kåre Alsaker-0/+27
2019-01-28Use multiple threads by default. Limits tests to one thread. Do some renaming.John Kåre Alsaker-22/+22
2019-01-25Rollup merge of #57652 - mark-i-m:remove-old, r=nikomatsakisMazdak Farrokhzad-86/+80
Update/remove some old readmes r? @nikomatsakis cc #48478 There are a bunch of READMEs with content that I would like to see a final decision made on: - https://github.com/rust-lang/rust/tree/master/src/librustc/ty/query - https://github.com/rust-lang/rust/tree/master/src/librustc/dep_graph - https://github.com/rust-lang/rust/blob/master/src/librustc/infer/region_constraints - https://github.com/rust-lang/rust/tree/master/src/librustc/infer/higher_ranked - https://github.com/rust-lang/rust/tree/master/src/librustc/infer/lexical_region_resolve - https://github.com/rust-lang/rust/blob/master/src/librustc_borrowck/borrowck It's not clear how useful or obsolete any of these are. I would really appreciate if the appropriate domain experts for each of these could respond with one of (a) delete it, (b) wait for system to be remove, or (c) move it to rustc-guide. @nikomatsakis do you know who to ping for any of these (sorry, I suspect many of them are you)?
2019-01-15update/remove some old readmesmark-86/+80
2019-01-15Optimize try_mark_green and eliminate the lock on dep node colorsJohn Kåre Alsaker-1/+5
2019-01-09Auto merge of #56614 - Zoxc:query-perf2, r=michaelwoeristerbors-149/+62
Replace LockCell with atomic types Split from https://github.com/rust-lang/rust/pull/56509 r? @michaelwoerister
2019-01-07Rollup merge of #57308 - Zoxc:controller-sync, r=michaelwoeristerPietro Albini-0/+1
Make CompileController thread-safe
2019-01-06flock: Use fcntl constants directly from libc crate on Unix targetsJohn Paul Adrian Glaubitz-41/+5
Since the values for the fcntl constants can vary from architecture to architecture, it is better to use the values defined in the libc crate instead of assigning literals in the flock code which would make the assumption that all architectures use the same values. Fixes #57007
2019-01-03Make CompileController thread-safeJohn Kåre Alsaker-0/+1
2018-12-29Replace LockCell with atomic typesJohn Kåre Alsaker-149/+62
2018-12-25Remove licensesMark Rousskov-391/+0
2018-12-23Rollup merge of #57034 - Zoxc:query-perf8, r=michaelwoeristerkennytm-0/+2
Inline tweaks r? @michaelwoerister
2018-12-21Inline tweaksJohn Kåre Alsaker-0/+2
2018-12-19Stabilize Vec(Deque)::resize_withScott McMurray-1/+0
Closes #41758
2018-12-17Tweak query code for performanceJohn Kåre Alsaker-0/+23
2018-12-10sorted_map: add contains_key functionljedrz-0/+8
2018-12-10sorted_map: readability/whitespace fixesljedrz-4/+6
2018-12-10sorted_map: add is_emptyljedrz-0/+5
2018-12-10sorted_map: make the impls of Index and get match ones from BTreeMapljedrz-12/+26
2018-12-10sorted_map: change From<Iterator<I>> to FromIterator<I>ljedrz-4/+4
2018-12-10Upgrade `smallvec` to 0.6.7 and use the new `may_dangle` feature.Nicholas Nethercote-1/+1
2018-12-07Various minor/cosmetic improvements to codeAlexander Regueiro-8/+8
2018-12-06Auto merge of #55635 - oli-obk:min_const_unsafe_fn, r=nikomatsakisbors-4/+28
Allow calling `const unsafe fn` in `const fn` behind a feature gate cc #55607 r? @Centril
2018-12-04Automatically generate imports for newtype_index `Deserialize` implsOliver Scherer-8/+16
2018-12-04Make `newtype_index` safeOliver Scherer-4/+20
2018-12-03data_structures: remove tuple_sliceljedrz-71/+0
2018-11-29Use raw_entry for more efficient interningJohn Kåre Alsaker-0/+70