-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[wasm] Intrinsics for blazor #102670
[wasm] Intrinsics for blazor #102670
Conversation
Tagging subscribers to this area: @BrzVlad, @kotlarmilos |
Add intrinsic fixed, thanks @lambdageek for spotting the bug |
Does this have any measurable impact ? |
We generate ~100 fewer methods during blazor startup. My timing data is very noisy, so I can't say 'this makes startup 1ms faster' with any confidence. |
The interp PGO tests were relying on us tiering one of these methods, oops :-) |
d80dc29
to
d970374
Compare
The osx interp failures look real, but I can't make sense of them. Does anyone have any ideas for why it would only be failing there? |
d970374
to
c37ad60
Compare
c37ad60
to
71cf842
Compare
I can't reproduce the interp failures in either debug or release configurations. I'm doing:
but that failing suite along with other suites like S.R.T passes. |
Don't allocate unnecessary temp var. Don't generate mul if type size is 1.
During blazor startup these 3 methods account for a bit over 100 compiled methods if I analyzed the trace correctly. Since interp codegen dominates blazor startup (50-75% depending on how you measure it) my hope is that pruning methods out will reduce overall startup time. These three seemed like easy targets.
Add is commented out because I can't get it to work. Will be relying on help for that one unless a flash of insight helps me figure out how to fix it.Should I add a CEQ0_I8 for IsNullRef? I'm not sure it's worth adding a new opcode just for that.