diff options
| author | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2016-10-19 07:59:59 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-10-19 07:59:59 +0300 |
| commit | aaed275a49ccc90eec4b2cbd8fc5d29c8f2115f7 (patch) | |
| tree | 3fa84ab51170df2f7e5706d6030f254b9ef9c5af /src/libsyntax/parse | |
| parent | a88ca4bf8ec0775cf517b1b3eaf0ec116194a4fd (diff) | |
| parent | 029dceedb9719ae5dbdbf2c033c920017e3d786e (diff) | |
| download | rust-aaed275a49ccc90eec4b2cbd8fc5d29c8f2115f7.tar.gz rust-aaed275a49ccc90eec4b2cbd8fc5d29c8f2115f7.zip | |
Rollup merge of #37161 - nnethercote:no-cfg-cloning, r=nrc
Avoid many CrateConfig clones. This commit changes `ExtCtx::cfg()` so it returns a `CrateConfig` reference instead of a clone. As a result, it also changes all of the `cfg()` callsites to explicitly clone... except one, because the commit also changes `macro_parser::parse()` to take `&CrateConfig`. This is good, because that function can be hot, and `CrateConfig` is expensive to clone. This change almost halves the number of heap allocations done by rustc for `html5ever` in rustc-benchmarks suite, which makes compilation 1.20x faster. r? @nrc
Diffstat (limited to 'src/libsyntax/parse')
0 files changed, 0 insertions, 0 deletions
