-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[mono][wasm] Fix a performance regression introduced by #97096. #98515
Conversation
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
Fixes #98522. |
@vargaz what happened? Did we end up hitting a case where we reported is_supported as true for a generic type where we should have reported false? |
It made IsSupported return true for the generic shared version of vectors i.e. Vector<T_BYTE>, but we don't support gshared for those types right now. |
OK, pretty sure that was an issue on some other platforms, that's why I added support for T_BYTE, since it was inline with what the implementation of IsSupported returned in its managed implementation,
Maybe this is just an issue on some platforms? |
With our gsharing implementation, T_BYTE can stand for enums whose basetype is byte as well, so we can't return true for Vector<T_BYTE>.IsSupported. With that code removed, we now hit this code:
So the IsSupported call is not intrinsified, so it will fall back to the managed implementation which does the right thing. The perf regression is some other issue which is also fixed with this change. |
No description provided.