-
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 10 pull requests #69085
Rollup of 10 pull requests #69085
Commits on Feb 2, 2020
-
Don't requery the param_env of a union
Union fields have the ParamEnv of the union.
Configuration menu - View commit details
-
Copy full SHA for 91cf0e7 - Browse repository at this point
Copy the full SHA 91cf0e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 570c161 - Browse repository at this point
Copy the full SHA 570c161View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3973322 - Browse repository at this point
Copy the full SHA 3973322View commit details -
* Handle cycles in `needs_drop` correctly * Normalize types when computing `needs_drop` * Move queries from rustc to rustc_ty
Configuration menu - View commit details
-
Copy full SHA for d196521 - Browse repository at this point
Copy the full SHA d196521View commit details -
* Handle arrays with const-generic lengths * Use closure for repeated code.
Configuration menu - View commit details
-
Copy full SHA for d20646b - Browse repository at this point
Copy the full SHA d20646bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 465b862 - Browse repository at this point
Copy the full SHA 465b862View commit details
Commits on Feb 6, 2020
-
Avoid instantiating many
Parser
structs ingeneric_extension
.Currently, every iteration of the main loop in `generic_extension` instantiates a `Parser`, which is expensive because `Parser` is a large type. Many of those instantiations are only used immutably, particularly for simple-but-repetitive macros of the sort seen in `html5ever` and PR 68836. This commit initializes a single "base" parser outside the loop, and then uses `Cow` to avoid cloning it except for the mutating iterations. This speeds up `html5ever` runs by up to 15%.
Configuration menu - View commit details
-
Copy full SHA for 6bf2cc2 - Browse repository at this point
Copy the full SHA 6bf2cc2View commit details -
Remove the
Cow
fromDirectory
.The previous commit wrapped `Parser` within a `Cow` for the hot macro parsing path. As a result, there's no need for the `Cow` within `Directory`, because it lies within `Parser`.
Configuration menu - View commit details
-
Copy full SHA for f840a95 - Browse repository at this point
Copy the full SHA f840a95View commit details -
Change condition ordering in
parse_tt
.This is a small win, because `Failure` is much more common than `Success`.
Configuration menu - View commit details
-
Copy full SHA for 2a13b24 - Browse repository at this point
Copy the full SHA 2a13b24View commit details
Commits on Feb 9, 2020
-
Apply suggestions from code review
Co-Authored-By: varkor <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3eb5241 - Browse repository at this point
Copy the full SHA 3eb5241View commit details -
Configuration menu - View commit details
-
Copy full SHA for 842938a - Browse repository at this point
Copy the full SHA 842938aView commit details
Commits on Feb 10, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 9e78ce0 - Browse repository at this point
Copy the full SHA 9e78ce0View commit details -
Configuration menu - View commit details
-
Copy full SHA for fc3ecb2 - Browse repository at this point
Copy the full SHA fc3ecb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 97d1f8d - Browse repository at this point
Copy the full SHA 97d1f8dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 53b16fb - Browse repository at this point
Copy the full SHA 53b16fbView commit details -
Configuration menu - View commit details
-
Copy full SHA for e2b9d6e - Browse repository at this point
Copy the full SHA e2b9d6eView commit details -
Add an
into_engine
method toAnalysis
This makes it more ergonomic to create a dataflow engine and obviates the need to pick between `new_gen_kill` and `new_generic`.
Configuration menu - View commit details
-
Copy full SHA for 1ec9917 - Browse repository at this point
Copy the full SHA 1ec9917View commit details -
Configuration menu - View commit details
-
Copy full SHA for c64dfd7 - Browse repository at this point
Copy the full SHA c64dfd7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 702096d - Browse repository at this point
Copy the full SHA 702096dView commit details -
Configuration menu - View commit details
-
Copy full SHA for ce3f37b - Browse repository at this point
Copy the full SHA ce3f37bView commit details
Commits on Feb 11, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 76aa29f - Browse repository at this point
Copy the full SHA 76aa29fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3884311 - Browse repository at this point
Copy the full SHA 3884311View commit details -
Configuration menu - View commit details
-
Copy full SHA for 30a8353 - Browse repository at this point
Copy the full SHA 30a8353View commit details -
Configuration menu - View commit details
-
Copy full SHA for f639607 - Browse repository at this point
Copy the full SHA f639607View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42d19a4 - Browse repository at this point
Copy the full SHA 42d19a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5860e78 - Browse repository at this point
Copy the full SHA 5860e78View commit details -
Configuration menu - View commit details
-
Copy full SHA for 168ca9a - Browse repository at this point
Copy the full SHA 168ca9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ac920f - Browse repository at this point
Copy the full SHA 3ac920fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f40fe9 - Browse repository at this point
Copy the full SHA 5f40fe9View commit details -
Co-Authored-By: Mazdak Farrokhzad <[email protected]> Co-Authored-By: Tim Robinson <[email protected]> Co-Authored-By: Peter Todd <[email protected]> Co-Authored-By: Dylan DPC <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8e26ad0 - Browse repository at this point
Copy the full SHA 8e26ad0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 683ebc2 - Browse repository at this point
Copy the full SHA 683ebc2View commit details -
Configuration menu - View commit details
-
Copy full SHA for c1ed84e - Browse repository at this point
Copy the full SHA c1ed84eView commit details
Commits on Feb 12, 2020
-
Rollup merge of rust-lang#67695 - gilescope:truth, r=centril
Added dyn and true keyword docs r? @Centril
Configuration menu - View commit details
-
Copy full SHA for c7addfb - Browse repository at this point
Copy the full SHA c7addfbView commit details -
Rollup merge of rust-lang#68241 - ecstatic-morse:unified-dataflow-imp…
…ls, r=pnkfelix Migrate borrowck dataflow impls to new framework This uses rust-lang#65672 to implement the dataflow analyses needed by borrowck. These include all the `InitializedPlaces` analyses as well as `Borrows`. Additionally, this PR contains several independent changes around the dataflow API which improve performance and make it more ergonomic. * An optimization that inhibits the caching of block transfer functions for acyclic MIR (~0.3% I-CNT savings). * A `ResultsVisitor` for dataflow results that is more efficient than `ResultsCursor` when we have to visit every statement unconditionally (~0.3% I-CNT savings). * An `into_engine` method on `Analysis` that selects the appropriate `Engine` constructor. * A `contains` method for `ResultsCursor` as a shorthand for `.get().contains()`. * A `find_descendants` helper on `MovePath` that replaces `has_any_child_of` on the old `FlowsAtLocation` These changes made porting the dataflow analyses much easier. Finally, this PR removes some now-unused code in `dataflow/at_location.rs` and elsewhere. You can view the perf results for the final version of this PR [here](https://perf.rust-lang.org/compare.html?start=29b854fb741809c29764e33fc17c32ba9c6523ba&end=6e516c1410c18cfe4eb6d030a39fdb73c8d8a4fe). Here's an example of the graphviz diagrams that are generated for the `MaybeInitializedPlaces` analysis. ![image](https://user-images.githubusercontent.com/29463364/72846117-c3e97d80-3c54-11ea-8171-3d48981c9ddd.png)
Configuration menu - View commit details
-
Copy full SHA for eb80eec - Browse repository at this point
Copy the full SHA eb80eecView commit details -
Rollup merge of rust-lang#68679 - matthewjasper:needs-type-op, r=varkor
Improve `ty.needs_drop` * Handle cycles in `needs_drop` correctly * Normalize types when computing `needs_drop` * Move queries from rustc to rustc_ty * Avoid query in simple cases reopens rust-lang#65918
Configuration menu - View commit details
-
Copy full SHA for 410b326 - Browse repository at this point
Copy the full SHA 410b326View commit details -
Rollup merge of rust-lang#68848 - nnethercote:hasten-macro-parsing, r…
…=petrochenkov Hasten macro parsing r? @eddyb
Configuration menu - View commit details
-
Copy full SHA for 8f813b7 - Browse repository at this point
Copy the full SHA 8f813b7View commit details -
Rollup merge of rust-lang#68877 - estebank:point-at-params, r=petroch…
…enkov On mismatched argument count point at arguments
Configuration menu - View commit details
-
Copy full SHA for c33d531 - Browse repository at this point
Copy the full SHA c33d531View commit details -
Rollup merge of rust-lang#69027 - TimDiekmann:zeroed-alloc, r=Amanieu
Add missing `_zeroed` varants to `AllocRef` The majority of the allocator wg has decided to add the missing `_zeroed` variants to `AllocRef`: > these should be added since they can be efficiently implemented with the `mremap` system call on Linux. `mremap` allows you to move/grow/shrink a memory mapping, and any new pages added for growth are guaranteed to be zeroed. > > If `AllocRef` does not have these methods then the user will have to manually write zeroes to the added memory since the API makes no guarantees on their contents. For the full discussion please see rust-lang/wg-allocators#14. This PR provides default implementations for `realloc_zeroed`, `alloc_excess_zeroed`, `realloc_excess_zeroed`, and `grow_in_place_zeroed`. r? @Amanieu
Configuration menu - View commit details
-
Copy full SHA for 4b556ce - Browse repository at this point
Copy the full SHA 4b556ceView commit details -
Rollup merge of rust-lang#69032 - chrissimpkins:ice-yield-println-rus…
…t-lang#69017, r=petrochenkov ICE in nightly-2020-02-08: handle TerminatorKind::Yield in librustc_mir::transform::promote_consts::Validator method IR: rust-lang#69017 regressed commit: rust-lang@f8fd462 Source: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=55e65a869e1f5fef64cc4462b1a5a087 Addresses ICE reported in rust-lang#69017 by handling `TerminatorKind::Yield` in https://github.com/rust-lang/rust/blob/4d1241f5158ffd66730e094d8f199ed654ed52ae/src/librustc_mir/transform/promote_consts.rs#L465-L468. <details><summary>Nightly build</summary> <p> ``` $ cargo +nightly build Compiling yielder v0.1.0 (/Users/chris/Desktop/tests/rustlang-tests/yielder) error: internal compiler error: src/librustc_mir/transform/promote_consts.rs:467: _1 = suspend(move _21) -> [resume: bb2, drop: bb3] not promotable --> src/main.rs:8:27 | 8 | println!("-> {}", yield); | ^^^^^ thread 'rustc' panicked at 'Box<Any>', <::std::macros::panic macros>:2:4 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace note: the compiler unexpectedly panicked. this is a bug. note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports note: rustc 1.43.0-nightly (71c7e14 2020-02-09) running on x86_64-apple-darwin note: compiler flags: -C debuginfo=2 -C incremental --crate-type bin note: some of the compiler flags provided by cargo are hidden error: aborting due to previous error error: could not compile `yielder`. To learn more, run the command again with --verbose. ``` </p> </details> <details><summary>Stage 1 dev build</summary> <p> ``` $ cargo +stage1 build Compiling yielder v0.1.0 (/Users/chris/Desktop/tests/rustlang-tests/yielder) warning: function is never used: `gen` --> src/main.rs:6:4 | 6 | fn gen() -> impl Generator<usize> { | ^^^ | = note: `#[warn(dead_code)]` on by default Finished dev [unoptimized + debuginfo] target(s) in 0.53s ``` </p> </details> @jonas-schievink @oli-obk
Configuration menu - View commit details
-
Copy full SHA for 0d15165 - Browse repository at this point
Copy the full SHA 0d15165View commit details -
Rollup merge of rust-lang#69058 - TimDiekmann:box, r=Amanieu
Preparation for allocator aware `Box` This cleans up the `Box` code a bit, and uses `Box::from_raw(ptr)` instead of `Box(ptr)`. Additionally, `box_free` and `exchange_malloc` now uses the `AllocRef` trait and a comment was added on how `box_free` is tied to `Box`. This a preparation for an upcoming PR, which makes `Box` aware of an allocator. r? @Amanieu
Configuration menu - View commit details
-
Copy full SHA for 6d7bbcb - Browse repository at this point
Copy the full SHA 6d7bbcbView commit details -
Rollup merge of rust-lang#69070 - Bassetts:master, r=alexcrichton
Add self to .mailmap
Configuration menu - View commit details
-
Copy full SHA for 440e5c7 - Browse repository at this point
Copy the full SHA 440e5c7View commit details -
Rollup merge of rust-lang#69077 - jumbatm:fix-comment, r=Dylan-DPC
Fix outdated doc comment. r? @RalfJung
Configuration menu - View commit details
-
Copy full SHA for 19bd8af - Browse repository at this point
Copy the full SHA 19bd8afView commit details