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

[interp] Add a few super instructions #50361

Merged
merged 4 commits into from
Mar 30, 2021

Conversation

BrzVlad
Copy link
Member

@BrzVlad BrzVlad commented Mar 29, 2021

For operations with constants that fit into a single instruction slot (2 byte)

BrzVlad added 4 commits March 24, 2021 12:10
We still need to use this opcode in more places, instead of the generic ldc.i8
We depend on the cprop pass to init local_ref_count. We only add a super instruction if the definition of the an intermediary result is done in the same basic block (the dreg is local var) and it is not used anywhere else, otherwise we can't clear the instruction.
By removing also 2 additional ldloca instructions, and enabling cprop for these vars that no longer have their address taken.
@ghost
Copy link

ghost commented Mar 29, 2021

Tagging subscribers to this area: @BrzVlad
See info in area-owners.md if you want to be subscribed.

Issue Details

For operations with constants that fit into a single instruction slot (2 byte)

Author: BrzVlad
Assignees: -
Labels:

area-Codegen-Interpreter-mono

Milestone: -

@BrzVlad BrzVlad merged commit ddb88a4 into dotnet:main Mar 30, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Apr 29, 2021
@karelz karelz added this to the 6.0.0 milestone May 20, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants