[mono][aot] Prefer concrete instances instead of gshared ones for met…#78182
[mono][aot] Prefer concrete instances instead of gshared ones for met…#78182vargaz merged 2 commits intodotnet:mainfrom
Conversation
|
@vargaz Should we also prefer instances for |
|
Maybe, it wasn't a problem in practice so far. |
24dc1c2 to
ec3a0ba
Compare
…hods containing type equality checks.
For example, calls to Vector<T>.IsSupported cannot be optimized away in a method where T
is T_BYTE because its written as:
```
get => (typeof(T) == typeof(byte)) ||
(typeof(T) == typeof(double)) ||
```
and T_BYTE could be instantiated with an enum whose basetype is byte.
Fixes some of the issues in dotnet#78163.
ec3a0ba to
d4ec04e
Compare
|
@vargaz - would this change contribute to size increase for blazor-wasm app (Interpreter) one. We are seeing size regressions in all wasm apps(New blank template, pizza app, aot-wasm, interpreter-wasm) in the same commit range. |
|
No, it should only affect AOT apps. |
|
That might be same regression as here https://radekdoulik.github.io/WasmPerformanceMeasurements/?startDate=2022-11-09T20%3A56%3A48.000Z&endDate=2022-11-12T14%3A17%3A58.000Z&tasks=Size It increases managed size by 0.192 % adiff output of corlib https://gist.github.com/radekdoulik/a7b2743a4fae5d9e6711717ea46359cd for this commit range 78322ae...3e94fdc |
|
@radekdoulik is this main branch? There was a regression backported to |

…hods containing type equality checks.
For example, calls to Vector.IsSupported cannot be optimized away in a method where T is T_BYTE because its written as:
and T_BYTE could be instantiated with an enum whose basetype is byte.
Fixes some of the issues in #78163.