-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[wasm] optimize out 'is this method MulticastDelegate.Invoke' checks in aot->interp transitions #80181
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
Conversation
|
Tagging subscribers to 'arch-wasm': @lewing Issue DetailsRight now interp_entry and jiterpreter's equivalent need to check for every call whether the call target is Maybe we should do this for the actual interpreter during codegen too?
|
|
/azp run |
|
You have several pipelines (over 10) configured to build pull requests in this repository. Specify which pipelines you would like to run by using /azp run [pipelines] command. You can specify multiple pipelines using a comma separated list. |
|
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp list |
|
/azp run runtime |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Fix for the STJ failures was just merged - #80186 . |
412657e to
affc9ea
Compare
|
The S.T.J AOT failures looked relevant, but I can't reproduce them so I'm bumping to latest upstream to re-run. |
|
the wbt failures look like #80241 |
affc9ea to
d77b943
Compare
e3948f8 to
5a2c50f
Compare
…te.Invoke and store that in a flag to optimize interp_entry Always inline some jiterpreter APIs
5a2c50f to
55951a7
Compare
Co-authored-by: Larry Ewing <[email protected]>
Right now interp_entry and jiterpreter's equivalent need to check for every call whether the call target is
MulticastDelegate.Invoke. While this sounds inexpensive, in browser-bench's JSON suite that check by itself was ~0.5% of cpu time according to Chrome's profiler. This PR updates InterpMethod creation to store a flag for this so we can just check the flag during interp_entry to avoid the wasted work.