Skip to content

Conversation

nnethercote
Copy link
Contributor

Because it's an extra type layer that doesn't really help; in a couple
of places it actively gets in the way, and overall removing it makes the
code nicer. It does, however, move tokenstream::TokenTree further away
from the TokenTree in quote.rs.

More importantly, this change reduces the size of TokenStream from 48
bytes to 40 bytes on x86-64, which is enough to slightly reduce
instruction counts on numerous benchmarks, the best by 1.5%.

Note that open_tt and close_tt have gone from being methods on
Delimited to associated methods of TokenTree.

@rust-highfive
Copy link
Contributor

r? @eddyb

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 30, 2018
@eddyb eddyb added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 30, 2018
@eddyb
Copy link
Member

eddyb commented Nov 30, 2018

Marking as blocked on #49219.

cc @dtolnay @alexcrichton

@nnethercote
Copy link
Contributor Author

Why is it blocked on #49219?

@bors
Copy link
Collaborator

bors commented Nov 30, 2018

☔ The latest upstream changes (presumably #49219) made this pull request unmergeable. Please resolve the merge conflicts.

@petrochenkov petrochenkov added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Nov 30, 2018
@petrochenkov
Copy link
Contributor

@nnethercote
You'll see it when you start rebasing :)

@petrochenkov petrochenkov self-assigned this Nov 30, 2018
@Centril
Copy link
Contributor

Centril commented Nov 30, 2018

#49219 has landed; @nnethercote should be able to rebase this now. :)

@nnethercote
Copy link
Contributor Author

@eddyb: I have rebased.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: _, _ -> ..

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(There are many instances of this.)

@petrochenkov
Copy link
Contributor

@bors r+

@bors
Copy link
Collaborator

bors commented Dec 10, 2018

📌 Commit 8e4ccef845e2870b60b08d77960b550f13ade2d3 has been approved by petrochenkov

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 10, 2018
@petrochenkov
Copy link
Contributor

In case you'll want to fix #56369 (comment)
@bors delegate+

@bors
Copy link
Collaborator

bors commented Dec 10, 2018

✌️ @nnethercote can now approve this pull request

Because it's an extra type layer that doesn't really help; in a couple
of places it actively gets in the way, and overall removing it makes the
code nicer. It does, however, move `tokenstream::TokenTree` further away
from the `TokenTree` in `quote.rs`.

More importantly, this change reduces the size of `TokenStream` from 48
bytes to 40 bytes on x86-64, which is enough to slightly reduce
instruction counts on numerous benchmarks, the best by 1.5%.

Note that `open_tt` and `close_tt` have gone from being methods on
`Delimited` to associated methods of `TokenTree`.
@nnethercote
Copy link
Contributor Author

I addressed the nits.

@bors r=petrochenkov

@bors
Copy link
Collaborator

bors commented Dec 10, 2018

📌 Commit 1fe2c03 has been approved by petrochenkov

@bors
Copy link
Collaborator

bors commented Dec 10, 2018

⌛ Testing commit 1fe2c03 with merge 286dc37...

bors added a commit that referenced this pull request Dec 10, 2018
Remove `tokenstream::Delimited`.

Because it's an extra type layer that doesn't really help; in a couple
of places it actively gets in the way, and overall removing it makes the
code nicer. It does, however, move `tokenstream::TokenTree` further away
from the `TokenTree` in `quote.rs`.

More importantly, this change reduces the size of `TokenStream` from 48
bytes to 40 bytes on x86-64, which is enough to slightly reduce
instruction counts on numerous benchmarks, the best by 1.5%.

Note that `open_tt` and `close_tt` have gone from being methods on
`Delimited` to associated methods of `TokenTree`.
@bors
Copy link
Collaborator

bors commented Dec 10, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: petrochenkov
Pushing 286dc37 to master...

@bors bors merged commit 1fe2c03 into rust-lang:master Dec 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants