-
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 17 pull requests #64456
Merged
Merged
Rollup of 17 pull requests #64456
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-Authored-By: lzutao <taolzu@gmail.com>
Value was renamed to Operand in rust-lang@ad2de8b ScalarPair to Slice in rust-lang@fe50b4e Not familiar enough with rustc's source to know if the comment is even still applicable.
These are types that get memcpy'd a lot.
The reduction in `memcpy` calls greatly outweighs the cost of the extra allocations, for a net performance win.
The reduction in `memcpy` calls outweighs the cost of the extra allocations, for a net performance win.
use randSecure and randABytes
Sync with rust-lang/rust master branch
It's a large type -- 176 bytes on 64-bit. And it's passed around and returned from a lot of functions, including within PResult. This commit boxes it, which reduces memory traffic. In particular, `PResult` shrinks to 16 bytes in the best case; this reduces instruction counts by up to 2% on various workloads.
declare EnvKey before use to fix build error
This function is very hot, doesn't get inlined because it's recursive, and the function calls are significant. This commit splits it into inlined and uninlined variants, and uses the inlined variant for the hot call site. This wins several percent on a few benchmarks.
Co-Authored-By: Robin Kruppe <robin.kruppe@gmail.com>
A few cosmetic improvements to code & comments in liballoc and libcore Factored out from hacking on rustc for work on the REPL. r? @Centril
…ode, r=zackmdavis Shrink `ObligationCauseCode` These commits reduce the size of `ObligationCauseCode` from 56 bytes to 32 bytes on 64-bit. This reduces instruction counts on various benchmarks by up to 1%, due to less `memcpy`ing.
use randSecure and randABytes r? @alexcrichton cc @n-salim
…r=zackmdavis Box `DiagnosticBuilder`. It's a large type -- 176 bytes on 64-bit. And it's passed around and returned from a lot of functions, including within `PResult`. This commit boxes it, which reduces memory traffic. In particular, `PResult` shrinks to 16 bytes in the best case; this reduces instruction counts by up to 2% on various workloads. The commit touches a lot of lines but it's almost all trivial plumbing changes.
Fast path for vec.clear/truncate For trivial types like `u8`, `vec.truncate()`/`vec.clear()` relies on the optimizer to remove the loop. This means more work in debug builds, and more work for the optimizer. Avoiding this busywork is exactly what `mem::needs_drop::<T>()` is for.
Fix inconsistent link formatting.
Trim rustc-workspace-hack Those dependencies seem no longer necessary. `./x.py test` and `x86_64-gnu-tools` container passed locally so I think this won't hurt.
…xcrichton declare EnvKey before use to fix build error r? @alexcrichton
…as_waiting_from, r=Mark-Simulacrum Inline `mark_neighbours_as_waiting_from`. This function is very hot, doesn't get inlined because it's recursive, and the function calls are significant. This commit splits it into inlined and uninlined variants, and uses the inlined variant for the hot call site. This wins several percent on a few benchmarks. r? @nikomatsakis
…gify, r=Mark-Simulacrum Remove raw string literal quotes from error index descriptions The error index has unnecessary `r##"` and `"##` around the descriptions from rust-lang#63721. Removing the `stringify` call removes them. r? @Mark-Simulacrum
Add self to .mailmap
…tural-match, r=varkor fn ptr is structural match Make fn ptr always structural match, regardless of whether the formal parameter types or return type are. Fix rust-lang#63479.
codegen: use "_N" (like for other locals) instead of "argN", for argument names. Based on rust-lang#64408 (second commit is new), fixing something I mentioned in rust-lang#64408 (which turned to be an immediate blocker for unifying relevant codepaths). Closes rust-lang#64408 (by containing it). r? @rkruppe
fix rust-lang#64430, confusing `owned_box` error message in no_std build Fixes rust-lang#64430
@bors r+ p=17 rollup=never |
📌 Commit 1c7959b has been approved by |
bors
added
the
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
label
Sep 14, 2019
bors
added a commit
that referenced
this pull request
Sep 14, 2019
Rollup of 17 pull requests Successful merges: - #63846 (Added table containing the system calls used by Instant and SystemTime.) - #64116 (Fix minor typo in docs.) - #64203 (A few cosmetic improvements to code & comments in liballoc and libcore) - #64302 (Shrink `ObligationCauseCode`) - #64372 (use randSecure and randABytes) - #64374 (Box `DiagnosticBuilder`.) - #64375 (Fast path for vec.clear/truncate ) - #64378 (Fix inconsistent link formatting.) - #64384 (Trim rustc-workspace-hack) - #64393 ( declare EnvKey before use to fix build error) - #64420 (Inline `mark_neighbours_as_waiting_from`.) - #64422 (Remove raw string literal quotes from error index descriptions) - #64423 (Add self to .mailmap) - #64425 (typo fix) - #64431 (fn ptr is structural match) - #64435 (codegen: use "_N" (like for other locals) instead of "argN", for argument names.) - #64439 (fix #64430, confusing `owned_box` error message in no_std build) Failed merges: r? @ghost
☀️ Test successful - checks-azure |
This was referenced Sep 14, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
merged-by-bors
This PR was explicitly merged by bors.
rollup
A PR which is a rollup
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Successful merges:
ObligationCauseCode
#64302 (ShrinkObligationCauseCode
)DiagnosticBuilder
. #64374 (BoxDiagnosticBuilder
.)mark_neighbours_as_waiting_from
. #64420 (Inlinemark_neighbours_as_waiting_from
.)owned_box
error message in no_std build #64439 (fix Confusingowned_box
error message since nightly-2019-09-04 #64430, confusingowned_box
error message in no_std build)Failed merges:
r? @ghost