1. 24 10月, 2016 3 次提交
  2. 23 10月, 2016 13 次提交
  3. 22 10月, 2016 17 次提交
    • B
      Auto merge of #37298 - nnethercote:faster-deflate, r=alexcrichton · b5f6d7ec
      bors 提交于
      Use a faster `deflate` setting
      
      In #37086 we have considered various ideas for reducing the cost of LLVM bytecode compression. This PR implements the simplest of these: use a faster `deflate` setting. It's very simple and reduces the compression time by almost half while increasing the size of the resulting rlibs by only about 2%.
      
      I looked at using zstd, which might be able to halve the compression time again. But integrating zstd is beyond my Rust FFI integration abilities at the moment -- it consists of a few dozen C files, has a non-trivial build system, etc. I decided it was worth getting a big chunk of the possible improvement with minimum effort.
      
      The following table shows the before and after percentages of instructions executed during compression while doing debug builds of some of the rustc-benchmarks with a stage1 compiler.
      ```
      html5ever-2016-08-25      1.4% -> 0.7%
      hyper.0.5.0               3.8% -> 2.4%
      inflate-0.1.0             1.0% -> 0.5%
      piston-image-0.10.3       2.9% -> 1.8%
      regex.0.1.30              3.4% -> 2.1%
      rust-encoding-0.3.0       4.8% -> 2.9%
      syntex-0.42.2             2.9% -> 1.8%
      syntex-0.42.2-incr-clean 14.2% -> 8.9%
      ```
      The omitted ones spend 0% of their time in decompression.
      
      And here are actual timings:
      ```
      futures-rs-test  4.110s vs  4.102s --> 1.002x faster (variance: 1.017x, 1.004x)
      helloworld       0.223s vs  0.226s --> 0.986x faster (variance: 1.012x, 1.022x)
      html5ever-2016-  4.218s vs  4.186s --> 1.008x faster (variance: 1.008x, 1.010x)
      hyper.0.5.0      4.746s vs  4.661s --> 1.018x faster (variance: 1.002x, 1.016x)
      inflate-0.1.0    4.194s vs  4.143s --> 1.012x faster (variance: 1.007x, 1.006x)
      issue-32062-equ  0.317s vs  0.316s --> 1.001x faster (variance: 1.013x, 1.005x)
      issue-32278-big  1.811s vs  1.825s --> 0.992x faster (variance: 1.014x, 1.006x)
      jld-day15-parse  1.412s vs  1.412s --> 1.001x faster (variance: 1.019x, 1.008x)
      piston-image-0. 11.058s vs 10.977s --> 1.007x faster (variance: 1.008x, 1.039x)
      reddit-stress    2.331s vs  2.342s --> 0.995x faster (variance: 1.019x, 1.006x)
      regex.0.1.30     2.294s vs  2.276s --> 1.008x faster (variance: 1.007x, 1.007x)
      rust-encoding-0  1.963s vs  1.924s --> 1.020x faster (variance: 1.009x, 1.006x)
      syntex-0.42.2   29.667s vs 29.391s --> 1.009x faster (variance: 1.002x, 1.023x)
      syntex-0.42.2-i 15.257s vs 14.148s --> 1.078x faster (variance: 1.018x, 1.008x)
      ```
      
      r? @alexcrichton
      b5f6d7ec
    • S
      run rustfmt on librustc_llvm folder · 9972d17e
      Srinivas Reddy Thatiparthy 提交于
      9972d17e
    • B
      Auto merge of #37294 - nikomatsakis:issue-37154, r=nikomatsakis · 48791661
      bors 提交于
      remove keys w/ skolemized regions from proj cache when popping skolemized regions
      
      This addresses #37154 (a regression). The projection cache was incorrectly caching the results for skolemized regions -- when we pop skolemized regions, we are supposed to drop cache keys for them (just as we remove those skolemized regions from the region inference graph). This is because those skolemized region numbers will be reused later with different meaning (and we have determined that the old ones don't leak out in any meaningful way).
      
      I did a *somewhat* aggressive fix here of only removing keys that mention the skolemized regions. One could imagine just removing all keys added since we started the skolemization (as indeed I did in my initial commit). This more aggressive fix required fixing a latent bug in `TypeFlags`, as an aside.
      
      I believe the more aggressive fix is correct; clearly there can be entries that are unrelated to the skoelemized region, and it's a shame to remove them. My one concern was that it *is* possible I believe to have some region variables that are created and related to skolemized regions, and maybe some of them could end up in the cache. However, that seems harmless enough to me-- those relations will be removed, and couldn't have impacted how trait resolution proceeded anyway (iow, the cache entry is not wrong, though it is kind of useless).
      
      r? @pnkfelix
      cc @arielb1
      48791661
    • B
      Auto merge of #37281 - TimNN:pad-align, r=eddyb · 4642e08b
      bors 提交于
      trans: pad const structs to aligned size
      
      Fixes #37222.
      
      I'm not sure if that is the *correct* way to fix this, but it *does* work.
      4642e08b
    • B
      Auto merge of #37337 - GuillaumeGomez:rollup, r=GuillaumeGomez · f136e9e2
      bors 提交于
      Rollup of 10 pull requests
      
      - Successful merges: #37043, #37209, #37211, #37219, #37244, #37253, #37286, #37297, #37309, #37314
      - Failed merges:
      f136e9e2
    • G
      Rollup merge of #37314 - tshepang:simple, r=GuillaumeGomez · 1c2d2235
      Guillaume Gomez 提交于
      doc: a more simple description of Iterator::nth
      1c2d2235
    • G
      Rollup merge of #37309 - vkatsikaros:vkatsikaros/37307, r=GuillaumeGomez · c3802f67
      Guillaume Gomez 提交于
      TRPL: guessing game: minor clarification
      
      The original text is correct and exact, but might confuse a non-English speaker (at least I was confused), so I made it a bit more plain (see https://github.com/rust-lang/rust/issues/37307).
      
      I know minor wording changes like these are affected by personal style, so I'd understand if you don't find this useful.
      
      r? @steveklabnik
      c3802f67
    • G
      Rollup merge of #37297 - thepowersgang:fix-bad-crate-attrs, r=eddyb · 8aa14c3f
      Guillaume Gomez 提交于
      test - Add missing ! to crate_type/crate_id attributes
      
      Fix some useless attributes in a test dependency.
      8aa14c3f
    • G
      Rollup merge of #37286 - srinivasreddy:graph, r=nrc · 59faa201
      Guillaume Gomez 提交于
      run rustfmt on graph folder
      59faa201
    • G
      Rollup merge of #37253 - srinivasreddy:liballoc, r=nrc · 38337c21
      Guillaume Gomez 提交于
      Apply rustfmt on liballoc folder
      38337c21
    • G
      Rollup merge of #37244 - senior:add-error-desc-182-230-399, r=GuillaumeGomez · 0dee00f5
      Guillaume Gomez 提交于
      Add error explaination for E0182, E0230 and E0399
      
      This PR adds some error descriptions requested in issue https://github.com/rust-lang/rust/issues/32777.
      
      r? @GuillaumeGomez
      
      Specifically this adds descriptions for
      
      E0182 - unexpected binding of associated item in expression path
      E0230 - missing type parameter from on_unimplemented description
      E0399 - overriding a trait type without re-implementing default methods
      0dee00f5
    • G
      Rollup merge of #37219 - srinivasreddy:prelude, r=nrc · 8133a55e
      Guillaume Gomez 提交于
      Run rustfmt on libcore/prelude folder
      8133a55e
    • G
      Rollup merge of #37211 - srinivasreddy:alt, r=nrc · 686ff0c1
      Guillaume Gomez 提交于
      run rustfmt on various folders
      686ff0c1
    • G
      Rollup merge of #37209 - srinivasreddy:bootstrap_bin, r=nrc · 88d1cbdb
      Guillaume Gomez 提交于
      run rustfmt on bootstrap/bin folder
      88d1cbdb
    • G
      Rollup merge of #37043 - GuillaumeGomez:vec_urls, r=frewsxcv · 18f9758c
      Guillaume Gomez 提交于
      Add missing urls on Vec docs
      
      r? @steveklabnik
      18f9758c
    • B
      Auto merge of #37174 - mikhail-m1:dnlle, r=jonathandturner · a6fa5729
      bors 提交于
      improve "Doesn't live long enough" error
      
      I've fixed only with same case
      
      issue #36537 part of  #35233
      r? @jonathandturner
      a6fa5729
    • A
      `as_bytes` is not the iterator, `bytes` is · dceb2c9c
      Aidan Hobson Sayers 提交于
      dceb2c9c
  4. 21 10月, 2016 7 次提交