-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Add VSD additional param for DIRECT calls. #16267
Conversation
expect many failures for arm in lower because we delete: // Change the call type, so we can add the extra indirection here, rather than in codegen
@dotnet-bot test Windows_NT x64 Checked corefx_baseline |
A job that shows the regression in System.Configuration.ConfigurationManager.Tests. |
@dotnet-bot test Windows_NT x64 Checked corefx_baseline |
Performance and CQ results: CoreCLR jit-diff and spmi show code size regressions because IR before:
IR after:
The important part is that Also superPmi for desktop shows some other small improvements, for example:
so we save 2 moves there. For big offsets, we still have an additional
|
PTAL @dotnet/jit-contrib |
Also want to notice that our
but it will be much easier to change when we delete legacy_backend. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CoreCLR jit-diff and spmi show code size regressions that are really improvements(I am not sure which call is faster), before:
call qword ptr [r11]System.Collections.Immutable.ImmutableDictionary2[__Canon,__Canon][System.__Canon,System.__Canon]:ContainsKey(ref):bool:this
after:
call [System.Collections.Immutable.ImmutableDictionary2[__Canon,__Canon][System.__Canon,System.__Canon]:ContainsKey(ref):bool:this]
Presumably (?) the old version is smaller/faster, since call [r11]
is smaller than call [rel32]
, and r11 has already been loaded up. Plus, the new version needs 2 relocs, one for the lea and one for the call. I'm not sure if this is bad or not.
// R11 = PInvoke cookie param | ||
return 2; | ||
} | ||
// R11 = Virtual stub param |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A nit: it bothers me that registers are given in the comments, but I don't know which platform (or platforms) the registers refer to.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer to change comments there in a separate PR.
The discussion was in #15910.
The PR was reverted because of #16201.
Fix #15150.