Skip to content
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

Fair Return Types #2336

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Fair Return Types #2336

wants to merge 2 commits into from

Conversation

timcassell
Copy link
Collaborator

@timcassell timcassell commented Jun 21, 2023

Follow-up to #2334. Fixes #2305.

All return types are treated equally. No more special consume logic for ByRef, or struct return types. Return values are popped off the stack instead of passed to Consumer or a NoInlining method. This is able to be done while avoiding dead code elimination by taking advantage of the changes made in #2334.

Overhead return type is always void now for a fair baseline.

Also fixed pointer returns in InProcessEmitToolchain.

@timcassell
Copy link
Collaborator Author

@AndreyAkinshin I moved this to v0.14.0 milestone because I think both #2334 and this should go out in the same version so that we are only affecting measurement accuracy in a single version, rather than multiple versions. If we can't get them both in v0.14.0, let's push them both out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

overhead and workload invocation sequences diverge
2 participants