Stream: git-wasmtime

Topic: wasmtime / PR #7979 winch: Enable stack overflow checking...


view this post on Zulip Wasmtime GitHub notifications bot (Feb 22 2024 at 18:41):

elliottt opened PR #7979 from elliottt:trevor/winch-trampoline-stack-checks to bytecodealliance:main:

Stack overflow checking in trampolines is slightly different than when translating arbitrary wasm functions, as the vmctx isn't necessarily in the pinned register yet. To avoid bloating the function prologue, I opted to parameterize the MacroAssembler::check_stack function on the register that currently contains the vmctx. This change allows the trampolines to pass the current location of vmctx instead of forcing it to live in the pinned register.
<!--
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 22 2024 at 18:41):

elliottt requested fitzgen for a review on PR #7979.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 22 2024 at 18:41):

elliottt requested wasmtime-compiler-reviewers for a review on PR #7979.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 22 2024 at 18:42):

elliottt requested saulecabrera for a review on PR #7979.

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

elliottt edited PR #7979:

Stack overflow checking in trampolines is slightly different than when translating arbitrary wasm functions, as the vmctx isn't necessarily in the pinned register yet. To avoid bloating the function prologue, I opted to parameterize the MacroAssembler::check_stack function on the register that currently contains the vmctx. This change allows the trampolines to pass the current location of vmctx instead of forcing it to live in the pinned register.

The first commit implements this change, while the second was a cleanup that I made while I was editing these files: I wanted to make more consistent use of the derived float register byte-size used while determining the space required for clobbers.
<!--
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 22 2024 at 18:53):

saulecabrera submitted PR review:

Looks great to me, thanks!

view this post on Zulip Wasmtime GitHub notifications bot (Feb 22 2024 at 19:21):

elliottt merged PR #7979.


Last updated: Dec 23 2024 at 12:05 UTC