Skip to content

Pass struct types by pointer, drop arguments in the caller #849

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

Closed
wants to merge 2 commits into from
Closed

Pass struct types by pointer, drop arguments in the caller #849

wants to merge 2 commits into from

Conversation

marijnh
Copy link
Contributor

@marijnh marijnh commented Aug 19, 2011

The first nail in the coffin of tail calls. It passes all tests, but I don't want to land it right away because some people might still believe in tail calls. So if you object, speak now or forever hold your peace. If no discussion is forthcoming (I'll post a heads-up on the mailing list), I'll merge this myself in a few days.

If we lose tail calls, this is possible. It simplifies things a lot.

Direct motivation: We want ivecs with pointers pointing into
themselves. When copying those, the pointers have to be adjusted. It
is impossible to this when copying them with Load/Store.
This makes it easier for the caller to optimize the take/drop away for
temporary values, and opens up new possibilities for alias handling.

Breaks tail calls.
@marijnh
Copy link
Contributor Author

marijnh commented Aug 22, 2011

Integrated.

@marijnh marijnh closed this Aug 22, 2011
keeperofdakeys pushed a commit to keeperofdakeys/rust that referenced this pull request Dec 12, 2017
Separate and Update Fuchsia

The first commit pulls Fuchsia out into its own directory, while the second commit updates the "open" flags as in rust-lang#848.

cc @smklein, @alexcrichton
ZuseZ4 pushed a commit to EnzymeAD/rust that referenced this pull request Mar 7, 2023
* Add atomic fadd for reverse mode

* Fix lower version

* Fix for version

* add maybealign
celinval pushed a commit to celinval/rust-dev that referenced this pull request Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant