- Notifications
You must be signed in to change notification settings - Fork5.1k
Consume Roslyn withref
fields support#71498
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
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Update public APIs
This is supplied by Roslyn.
ghost commentedJun 30, 2022
Note regarding the This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, to please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change. |
ghost commentedJun 30, 2022
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly onearea label. |
ghost commentedJun 30, 2022
Tagging subscribers to this area: @dotnet/area-meta Issue DetailsMoves to a Roslyn version that support Removes
|
@BrzVlad I think we've made it past most of the legs that were failing so I perhaps this is solved. I applied your suggestion and verified it locally fixed the issue I was hitting above - Thank you. @BrzVlad or@lambdageek Can I get one of you to sign-off on the mono changes? |
EgorBo commentedJul 5, 2022 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
publicSpan<byte>Test(byte[]array)=>array.AsSpan(0,10); codegen before this PR: ; Method Program:ArrayAsSpanStartLength(System.Byte[]):System.Span`1[Byte]:thisG_M63029_IG01: 4883EC28subrsp,40G_M63029_IG02: 4D85C0testr8,r8 741Dje SHORT G_M63029_IG04 418378080Acmp dword ptr[r8+8],107216jb SHORT G_M63029_IG04 4983C010addr8,16 4C8902mov bword ptr[rdx],r8 C742080A000000mov dword ptr[rdx+8],10 488BC2movrax,rdxG_M63029_IG03: 4883C428addrsp,40 C3retG_M63029_IG04: FF15247D2700call[System.ThrowHelper:ThrowArgumentOutOfRangeException()] CCint3; Total bytes of code: 45 Codegen after this PR: ; Method Program:ArrayAsSpanStartLength(System.Byte[]):System.Span`1[Byte]:thisG_M63029_IG01:57pushrdi56pushrsi53pushrbx 4883EC30subrsp,48 C5F877vzeroupper 488BDAmovrbx,rdxG_M63029_IG02: C5F857C0 vxorpsxmm0,xmm0 C5FA7F442420 vmovdqu xmmword ptr[rsp+20H],xmm0 4D85C0testr8,r87432je SHORT G_M63029_IG04 418378080Acmp dword ptr[r8+8],10 722Bjb SHORT G_M63029_IG04 4983C010addr8,16 4C89442420mov bword ptr[rsp+20H],r8 C74424280A000000mov dword ptr[rsp+28H],10 488BFBmovrdi,rbx 488D742420learsi, bword ptr[rsp+20H] E8DF738B5Fcall CORINFO_HELP_ASSIGN_BYREF 48A5movsq 488BC3movrax,rbxG_M63029_IG03: 4883C430addrsp,48 5Bpoprbx 5Epoprsi 5Fpoprdi C3retG_M63029_IG04: FF158CDB0B00call[System.ThrowHelper:ThrowArgumentOutOfRangeException()] CCint3; Total bytes of code: 85 perf-triage team (@DrewScoggins,@tannergooding,@kunalspathak) noticed that this PR caused a lot of perf regressions |
tannergooding commentedJul 5, 2022 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Notably |
|
Since all the significant changes here are on the VM side that is to be expected. SPMI will only reflect JIT changes. |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Moves to a Roslyn version that support
ref
field support and thescoped
keyword.Removes
ByReference<T>
from all runtimes.Contributes to#63768