Stream: git-wasmtime

Topic: wasmtime / PR #7927 winch: Optimize calls


view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 17:23):

saulecabrera requested elliottt for a review on PR #7927.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 17:23):

saulecabrera opened PR #7927 from saulecabrera:some-optimizations to bytecodealliance:main:

This commit introduces several optimizations to speed up the compilation of function calls:

With the changes mentioned above, I observed ~30% improvement in compilation times for modules that are call-heavy.

<!--
Please make sure you include the following information:

Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.html

Please ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 17:23):

saulecabrera requested wasmtime-compiler-reviewers for a review on PR #7927.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 17:31):

saulecabrera submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 17:31):

saulecabrera created PR review comment:

Some thoughts that I had while changing this:

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 17:35):

saulecabrera updated PR #7927.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 17:36):

saulecabrera updated PR #7927.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 17:37):

saulecabrera edited PR #7927:

This commit introduces several optimizations to speed up the compilation of function calls:

With the changes mentioned above, I observed ~30% improvement in compilation times for modules that are call-heavy.

<!--
Please make sure you include the following information:

Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.html

Please ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 17:37):

saulecabrera edited PR #7927:

This commit introduces several optimizations to speed up the compilation of function calls:

With the changes mentioned above, I observed ~30% improvement in compilation times for modules that are call-heavy.

<!--
Please make sure you include the following information:

Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.html

Please ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 17:44):

saulecabrera updated PR #7927.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 20:44):

github-actions[bot] commented on PR #7927:

Subscribe to Label Action

cc @cfallin, @fitzgen, @saulecabrera

<details>
This issue or pull request has been labeled: "cranelift", "cranelift:area:x64", "isle", "winch"

Thus the following users have been cc'd because of the following labels:

To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.

Learn more.
</details>

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 23:23):

elliottt submitted PR review:

This seems good to me!

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 23:23):

elliottt submitted PR review:

This seems good to me!

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 23:23):

elliottt created PR review comment:

This doesn't seem like a problem to me, and using .expect() would help to convey that it must be present for cranelift's purposes. Also, this change doesn't alter the size of the MInst enum, so we're not paying for it in a hidden way.

Would you mind commenting on the definition of BoxCallInfo in isle.rs that it's optional only for winch?

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 23:23):

elliottt created PR review comment:

impl Callee<'_> {
    /// Returns the [ABISig] of the [Callee].
    pub(crate) fn sig(&self) -> &ABISig {

view this post on Zulip Wasmtime GitHub notifications bot (Feb 13 2024 at 23:23):

elliottt created PR review comment:

        self.masm.float_round(

view this post on Zulip Wasmtime GitHub notifications bot (Feb 14 2024 at 11:32):

saulecabrera updated PR #7927.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 14 2024 at 11:33):

saulecabrera submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 14 2024 at 11:33):

saulecabrera created PR review comment:

Thanks for the suggestion! Added a comment.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 14 2024 at 12:38):

saulecabrera merged PR #7927.


Last updated: Dec 23 2024 at 12:05 UTC