Skip to content
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 50 commits into from Sep 14, 2019

Conversation

@Centril
Copy link
Member

commented Sep 14, 2019

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

DevQps and others added 30 commits Aug 24, 2019
Co-Authored-By: lzutao <taolzu@gmail.com>
Value was renamed to Operand in ad2de8b
ScalarPair to Slice in 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>
Centril added 15 commits Sep 14, 2019
A few cosmetic improvements to code & comments in liballoc and libcore

Factored out from hacking on rustc for work on the REPL.

r? @Centril
…ckmdavis

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
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.
 declare EnvKey before use to fix build error

r? @alexcrichton
…g_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
…ark-Simulacrum

Remove raw string literal quotes from error index descriptions

The error index has unnecessary `r##"` and `"##` around the descriptions from #63721. Removing the `stringify` call removes them.

r? @Mark-Simulacrum
Add self to .mailmap
typo fix
…ch, 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 #63479.
codegen: use "_N" (like for other locals) instead of "argN", for argument names.

Based on #64408 (second commit is new), fixing something I mentioned in #64408 (which turned to be an immediate blocker for unifying relevant codepaths).

Closes #64408 (by containing it).

r? @rkruppe
fix #64430, confusing `owned_box` error message in no_std build

Fixes #64430
@Centril

This comment has been minimized.

Copy link
Member Author

commented Sep 14, 2019

@bors r+ p=17 rollup=never

@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 14, 2019

📌 Commit 1c7959b has been approved by Centril

@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 14, 2019

⌛️ Testing commit 1c7959b with merge ca3766e...

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
@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 14, 2019

☀️ Test successful - checks-azure
Approved by: Centril
Pushing ca3766e to master...

@bors bors added the merged-by-bors label Sep 14, 2019
@bors bors merged commit 1c7959b into rust-lang:master Sep 14, 2019
5 checks passed
5 checks passed
homu Test successful
Details
pr Build #20190914.18 succeeded
Details
pr (Linux mingw-check) Linux mingw-check succeeded
Details
pr (Linux x86_64-gnu-llvm-6.0) Linux x86_64-gnu-llvm-6.0 succeeded
Details
pr (LinuxTools) LinuxTools succeeded
Details
@Centril Centril deleted the Centril:rollup-ytqdwaq branch Sep 14, 2019
@Centril Centril added the rollup label Oct 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.