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 9 pull requests #41872

Closed
wants to merge 27 commits into from
Closed

Rollup of 9 pull requests #41872

wants to merge 27 commits into from

Commits on May 5, 2017

  1. Make [u8]::reverse() 5x faster

    Since LLVM doesn't vectorize the loop for us, do unaligned reads
    of a larger type and use LLVM's bswap intrinsic to do the
    reversing of the actual bytes.  cfg!-restricted to x86 and
    x86_64, as I assume it wouldn't help on things like ARMv5.
    
    Also makes [u16]::reverse() a more modest 1.5x faster by
    loading/storing u32 and swapping the u16s with ROT16.
    
    Thank you ptr::*_unaligned for making this easy :)
    scottmcm committed May 5, 2017
    Configuration menu
    Copy the full SHA
    e8fad32 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2017

  1. Configuration menu
    Copy the full SHA
    1f891d1 View commit details
    Browse the repository at this point in the history
  2. Add reverse benchmarks for u128, [u8;3], and Simd<[f64;4]>

    None of these are affected by e8fad32.
    scottmcm committed May 6, 2017
    Configuration menu
    Copy the full SHA
    da91361 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2017

  1. Add a link to park in the park_timeout doc.

    Felix Raimundo committed May 7, 2017
    Configuration menu
    Copy the full SHA
    061b56b View commit details
    Browse the repository at this point in the history
  2. Add link to the module doc in park_timeout.

    Felix Raimundo committed May 7, 2017
    Configuration menu
    Copy the full SHA
    c158962 View commit details
    Browse the repository at this point in the history
  3. Add park info to unpark.

    - Adds an explanantion of what `park` does in the `unpark` documentation.
    - Adds a link to the module doc.
    Felix Raimundo committed May 7, 2017
    Configuration menu
    Copy the full SHA
    d9628f9 View commit details
    Browse the repository at this point in the history
  4. Better example for thread::unpark.

    Felix Raimundo committed May 7, 2017
    Configuration menu
    Copy the full SHA
    5573c47 View commit details
    Browse the repository at this point in the history
  5. fix typo

    Felix Raimundo committed May 7, 2017
    Configuration menu
    Copy the full SHA
    c0d475a View commit details
    Browse the repository at this point in the history
  6. Inline thread::park documentation.

    Part of rust-lang#29378
    
    - Moves the module documentation into `park`.
    - Add the same example as the one from `unpark` to `park`.
    Felix Raimundo committed May 7, 2017
    Configuration menu
    Copy the full SHA
    fa0cdaa View commit details
    Browse the repository at this point in the history
  7. Fix typos in thread::park documentation.

    Felix Raimundo committed May 7, 2017
    Configuration menu
    Copy the full SHA
    03c9510 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2017

  1. Add more ways to create a PathBuf to docs

    The best way to do this wasn't in the documentation, and the ways that
    were there needed some extra text to elaborate.
    
    Fixes rust-lang#40159
    steveklabnik committed May 9, 2017
    Configuration menu
    Copy the full SHA
    23382e6 View commit details
    Browse the repository at this point in the history
  2. Improve docs on Arc<T> and Send/Sync

    This is something I always forget, so let's actually
    explain in the docs.
    steveklabnik committed May 9, 2017
    Configuration menu
    Copy the full SHA
    2f6744c View commit details
    Browse the repository at this point in the history
  3. Fix link

    Felix Raimundo committed May 9, 2017
    Configuration menu
    Copy the full SHA
    afe74c3 View commit details
    Browse the repository at this point in the history
  4. Don't show the std frames before user code on unwinding.

    When `RUST_BACKTRACE=1`, remove all frames after
    `__rust_maybe_catch_panic`. Tested on `main`, threads, tests and
    benches. Cleaning of the top of the stacktrace is let to a future PR.
    
    Fixes rust-lang#40201
    
    See rust-lang#41815
    Yamakaky committed May 9, 2017
    Configuration menu
    Copy the full SHA
    ca8b754 View commit details
    Browse the repository at this point in the history
  5. Update jemalloc to 4.5.0

    arthurprs committed May 9, 2017
    Configuration menu
    Copy the full SHA
    8f420b4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    49f793a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    cc4afe0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2e509d2 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2017

  1. Rollup merge of rust-lang#41531 - steveklabnik:gh40159, r=nagisa

    Add more ways to create a PathBuf to docs
    
    The best way to do this wasn't in the documentation, and the ways that
    were there needed some extra text to elaborate.
    
    Fixes rust-lang#40159
    
    /cc @nagisa
    frewsxcv authored May 10, 2017
    Configuration menu
    Copy the full SHA
    946aa2a View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#41536 - steveklabnik:arc-and-send, r=burnts…

    …ushi
    
    Improve docs on Arc<T> and Send/Sync
    
    This is something I always forget, so let's actually
    explain in the docs.
    
    I didn't fully link up everything here, but I'd like to make sure that the wording is okay before I bother.
    frewsxcv authored May 10, 2017
    Configuration menu
    Copy the full SHA
    1b77394 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#41764 - scottmcm:faster-reverse, r=brson

    Make [u8]::reverse() 5x faster
    
    Since LLVM doesn't vectorize the loop for us, do unaligned reads of a larger type and use LLVM's bswap intrinsic to do the reversing of the actual bytes.  cfg!-restricted to x86 and x86_64, as I assume it wouldn't help on things like ARMv5.
    
    Also makes [u16]::reverse() a more modest 1.5x faster by loading/storing u32 and swapping the u16s with ROT16.
    
    Thank you ptr::*_unaligned for making this easy :)
    
    Benchmark results (from my i5-2500K):
    ```text
    test slice::reverse_u8      ... bench:  273,836 ns/iter (+/- 15,592) =  3829 MB/s
    test slice::reverse_u16     ... bench:  139,793 ns/iter (+/- 17,748) =  7500 MB/s
    test slice::reverse_u32     ... bench:   74,997 ns/iter  (+/- 5,130) = 13981 MB/s
    test slice::reverse_u64     ... bench:   47,452 ns/iter  (+/- 2,213) = 22097 MB/s
    
    test slice::reverse_u8      ... bench:   52,170 ns/iter (+/- 3,962) = 20099 MB/s
    test slice::reverse_u16     ... bench:   93,330 ns/iter (+/- 4,412) = 11235 MB/s
    test slice::reverse_u32     ... bench:   74,731 ns/iter (+/- 1,425) = 14031 MB/s
    test slice::reverse_u64     ... bench:   47,556 ns/iter (+/- 3,025) = 22049 MB/s
    ```
    
    If you're curious about the assembly, instead of doing this
    ```
    movzx	eax, byte ptr [rdi]
    movzx	ecx, byte ptr [rsi]
    mov	byte ptr [rdi], cl
    mov	byte ptr [rsi], al
    ```
    it does this
    ```
    mov	rax, qword ptr [rdx]
    mov	rbx, qword ptr [r11 + rcx - 8]
    bswap	rbx
    mov	qword ptr [rdx], rbx
    bswap	rax
    mov	qword ptr [r11 + rcx - 8], rax
    ```
    frewsxcv authored May 10, 2017
    Configuration menu
    Copy the full SHA
    78aee08 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#41809 - gamazeps:thread-docs, r=steveklabnik

    [DOC] Improve the thread::park and thread::unpark documentation
    
    Part of rust-lang#29378 .
    
    Takes care of the documentation for `park`, `park_duration` and also improves the `unpark` example.
    
    - `park should` have its module documentation inlined here, and cleaned up.
    - `park_timeout` could use links to `park`.
    frewsxcv authored May 10, 2017
    Configuration menu
    Copy the full SHA
    b42862b View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#41815 - Yamakaky:improve-backtrace-bottom, …

    …r=alexcrichton
    
    Improve cleaning of the bottom of the backtrace
    
    Following rust-lang#40264. It only cleans the bottom of the trace (after the main). It handles correctly the normal main, tests, benchmarks and threads.
    
    I kept `skipped_before` since it will be used later for the cleaning of the top.
    frewsxcv authored May 10, 2017
    Configuration menu
    Copy the full SHA
    8078fdb View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#41861 - arthurprs:update-jemalloc, r=alexcr…

    …ichton
    
    Update jemalloc to 4.5.0
    
    * pointing jemalloc submodule to the 4.5.0 HEAD + generated configure script
    * removed the now unnecessary extra config for windows. jemalloc is now much better at configuring itself overall.
    
    Let's see what the CI think.
    frewsxcv authored May 10, 2017
    Configuration menu
    Copy the full SHA
    f8ccbec View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#41862 - GuillaumeGomez:improve-e0477, r=nagisa

    Improve E0477 error message
    
    Part of rust-lang#41816.
    
    r? @nagisa
    frewsxcv authored May 10, 2017
    Configuration menu
    Copy the full SHA
    8ed9f3d View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#41863 - malbarbo:update-android-builder, r=…

    …alexcrichton
    
    ci: Update android ndk and sdk
    
    Make install-sdk.sh and install-ndk.sh more generic so future updates can be made directly on Dockerfile. Update ndk to r13b, which will be necessary to make host builds for android (in the future). Update sdk to r25.2.5 (maybe some emulator performance improvement).
    frewsxcv authored May 10, 2017
    Configuration menu
    Copy the full SHA
    3f42fbb View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#41864 - malbarbo:android-docker, r=alexcric…

    …hton
    
    Add disabled android host builders
    
    Introduce the concept of disabled builder. A disabled builder is one that is not run by travis. It is intended to be run by the user who wants a rustc for a tier 2 or 3 platform. Off corse, there is no guarantee that it will work.
    frewsxcv authored May 10, 2017
    Configuration menu
    Copy the full SHA
    57a593f View commit details
    Browse the repository at this point in the history