Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[interp] Squash multiple call args moves into single opcode#52242

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
BrzVlad merged 3 commits intodotnet:mainfromBrzVlad:feature-interp-small-opt
May 14, 2021

Conversation

@BrzVlad
Copy link
Member

Plus a few other small optimizations

Some vars cannot be used directly as an argument to another call. In this case, the var offset allocator generates new intermediary vars. For methods with a lot of parameters, we can end up with quite a lot of these stores.As an example, for the following method:```public static void MethodPartial (int a, int b, object c, object d){MethodFull (a, b, c, d, 12523);}```Before:```IR_0000: ldc.i8         [72 <- nil], 12523IR_0006: mov.4          [40 <- 0],IR_0009: mov.4          [48 <- 8],IR_000c: mov.8          [56 <- 16],IR_000f: mov.8          [64 <- 24],IR_0012: call           [32 <- 40], 0IR_0016: ret.void       [nil <- nil],```After:```IR_0000: ldc.i8         [72 <- nil], 12523IR_0006: mov.8.4        [nil <- nil], 40 <- 0, 48 <- 8, 56 <- 16, 64 <- 24IR_000f: call           [32 <- 40], 0IR_0013: ret.void       [nil <- nil]```
@ghost
Copy link

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

Issue Details

Plus a few other small optimizations

Author:BrzVlad
Assignees:-
Labels:

area-Codegen-Interpreter-mono

Milestone:-

@BrzVladBrzVlad merged commit49eef91 intodotnet:mainMay 14, 2021
@karelzkarelz added this to the6.0.0 milestoneMay 20, 2021
@ghostghost locked asresolvedand limited conversation to collaboratorsJun 19, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account?Sign in.

Reviewers

1 more reviewer

@vargazvargazvargaz approved these changes

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Projects

None yet

Milestone

6.0.0

Development

Successfully merging this pull request may close these issues.

3 participants

@BrzVlad@vargaz@karelz

[8]ページ先頭

©2009-2025 Movatter.jp