-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Avoid more hygiene lookups #61484
Avoid more hygiene lookups #61484
Conversation
@bors try |
⌛ Trying commit 485f83491d81f0de6ae3cc16f7c0a6126611a2d6 with merge 9840af41b95aedac3370bd7d4e663ee10d01be52... |
This comment has been minimized.
This comment has been minimized.
☀️ Try build successful - checks-travis |
@rust-timer build 9840af41b95aedac3370bd7d4e663ee10d01be52 |
Success: Queued 9840af41b95aedac3370bd7d4e663ee10d01be52 with parent c57ed9d, comparison URL. |
Finished benchmarking try commit 9840af41b95aedac3370bd7d4e663ee10d01be52, comparison URL. |
Because it's not finished. I filed the PR because I wanted to do a perf run on CI. That's why I did |
485f834
to
af026f6
Compare
I fixed up the commit messages and edited the PR description above. |
af026f6
to
1d50c5f
Compare
At this point (after introduction of all these combined methods) perhaps it makes sense to introduce |
If
|
Ok, there are 4 "obviously combined" operations right now - r=me with nits addressed |
Also use `HygieneData::expn_info` in an appropriate place.
Also remove `HygieneData::apply_mark_internal`, which is no longer needed.
This combines two `HygieneData::with` calls into one.
They can each now do a single `HygieneData::with` call by replacing the `SyntaxContext` and `Mark` methods with the equivalent methods from `HygieneData`.
This combines two `HygieneData::with` calls into one on a hot path.
This combines multiple `HygieneData::with` calls into one, by combining parts of `hygienic_eq` and `adjust_ident`.
This combines multiple `HygieneData::with` calls on a hot path.
The commit combines two calls into one by saving the result in a local variable. The commit also moves the check for `async` later, so that when a different keyword is present the `rust_2018` call will be avoided completely.
Exposing |
These combine two `HygieneData::with` calls into one.
1d50c5f
to
4c9ecbf
Compare
I addressed the comments. @bors r=petrochenkov |
📌 Commit 4c9ecbf has been approved by |
…ochenkov Avoid more hygiene lookups Mostly by combining multiple `HygieneData::with` calls into a single call on hot paths. r? @petrochenkov
☀️ Test successful - checks-travis, status-appveyor |
Mostly by combining multiple
HygieneData::with
calls into a single call on hot paths.r? @petrochenkov