Uh oh!
There was an error while loading. Please reload this page.
[mono][aot] Optimize constrained calls made from gsharedvt methods. - #79339
Conversation
ghost
commented
Dec 7, 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 one area label. |
vargaz
commented
Dec 7, 2022
This will also avoid some interpreter transitions on wasm, making the stack traces on BCL test suite crashes etc. smaller. |
4d41c57 to
03a6dcfCompare03a6dcf to
ec5e62dComparevargaz
commented
Dec 8, 2022
The failures look relevant. |
SamMonoRT
commented
Dec 8, 2022
cbe44f4 to
ef2aec6CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
5229775 to
f144a24CompareThere was a problem hiding this comment.
what would be the additional cases that would fit into the fastpath approach?
There was a problem hiding this comment.
The cases excluded by the if.
There was a problem hiding this comment.
I am trying to understand the code and the effect that covering more cases would bring.
Uh oh!
There was an error while loading. Please reload this page.
f144a24 to
03e2564Comparevargaz
commented
Dec 12, 2022
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
vargaz
commented
Dec 13, 2022
Failures are relevant. |
03e2564 to
8088965Comparevargaz
commented
Dec 15, 2022
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
vargaz
commented
Dec 15, 2022
Failures are unrelated. |
vargaz
commented
Dec 20, 2022
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
b772123 to
68b30bcCompareThere was a problem hiding this comment.
We don't have some helper function that does this already?
The calls are of the form: .constrained T_GSHAREDVT callvirt <method> Whenever T_GSHAREDVT is a reference or value type is only known at runtime. Previously these were handled by passing the arguments to a JIT icall which computed the target method and did a runtime invoke. Added 2 optimizations: * Precompute the data which depends only on the type and the method, store it in an rgctx slot and pass it to the JIT icall. * Add a fastpath for simpler cases which makes an indirect call from generated code.
68b30bc to
0033318Comparevargaz
commented
Feb 7, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
vargaz
commented
Feb 8, 2023
Failures are unrelated |
The calls are of the form:
.constrained T_GSHAREDVT
callvirt
Whenever T_GSHAREDVT is a reference or value type is only known at runtime.
Previously these were handled by passing the arguments to a JIT icall which computed the target method and did a runtime invoke.
Add 2 optimizations: