Stream: git-wasmtime

Topic: wasmtime / PR #4176 Cranelift: fix use of pinned reg with...


view this post on Zulip Wasmtime GitHub notifications bot (May 20 2022 at 19:01):

cfallin requested abrown for a review on PR #4176.

view this post on Zulip Wasmtime GitHub notifications bot (May 20 2022 at 19:01):

cfallin opened PR #4176 from pinned-regs-sysv to main:

Previously, the pinned register (enabled by the enable_pinned_reg
Cranelift setting and used via the get_pinned_reg and set_pinned_reg
CLIF ops) was only used when Cranelift was embedded in SpiderMonkey, in
order to support a pinned heap register. SpiderMonkey has its own
calling convention in Cranelift (named after the integration layer,
"Baldrdash").

However, the feature is more general, and should be usable with the
default system calling convention too, e.g. SysV or Windows Fastcall.

This PR fixes the ABI code to properly treat the pinned register as a
globally allocated register -- and hence an implicit input and output to
every function, not saved/restored in the prologue/epilogue -- for SysV
on x86-64 and aarch64, and Fastcall on x86-64.

Fixes #4170.

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (May 20 2022 at 19:01):

cfallin requested akirilov-arm for a review on PR #4176.

view this post on Zulip Wasmtime GitHub notifications bot (May 20 2022 at 19:01):

cfallin has marked PR #4176 as ready for review.

view this post on Zulip Wasmtime GitHub notifications bot (May 23 2022 at 11:57):

akirilov-arm submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (May 23 2022 at 16:18):

cfallin merged PR #4176.


Last updated: Oct 23 2024 at 20:03 UTC