Stream: git-wasmtime

Topic: wasmtime / Issue #1774 Multi-value return support on aarc...


view this post on Zulip Wasmtime GitHub notifications bot (May 27 2020 at 22:09):

github-actions[bot] commented on Issue #1774:

Subscribe to Label Action

cc @bnjbvr

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

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 (May 27 2020 at 22:17):

bjorn3 commented on Issue #1774:

The SystemV abi on AArch64 uses x0 and x1 to return pairs of integers. Could you please do that in Cranelif too? Even if only in the non baldrdash variant of the abi?

view this post on Zulip Wasmtime GitHub notifications bot (May 27 2020 at 23:50):

cfallin commented on Issue #1774:

The SystemV abi on AArch64 uses x0 and x1 to return pairs of integers. Could you please do that in Cranelif too? Even if only in the non baldrdash variant of the abi?

Happy to take a followup patch for this, but perhaps not in the initial patch, if only because I don't have a way to test it easily. As far as I can tell, the principle in the past (e.g. in #1178) was to keep the ABI as simple as possible initially. I'm not opposed to declaring that we achieve full SysV ABI compatibility eventually, but it's a higher bar for sure!

view this post on Zulip Wasmtime GitHub notifications bot (May 28 2020 at 08:56):

bjorn3 commented on Issue #1774:

Keeping the abi simple is fine, but I want to have all the primitives necessary to implement full SystemV abi support from the clif ir producer side.

view this post on Zulip Wasmtime GitHub notifications bot (May 28 2020 at 15:19):

cfallin commented on Issue #1774:

@bjorn3: after more thought, I think it actually wouldn't be too bad to at least give a "all return values are in registers; error if > K returns" (K = 8 on aarch64?) mode. Perhaps we can define this to be the default if we're not in Baldrdash (SpiderMonkey) mode. This would give you the building blocks needed to legalize whatever other ABI (SysV or otherwise) down to CLIF. Does that sound reasonable?

view this post on Zulip Wasmtime GitHub notifications bot (May 28 2020 at 15:34):

bjorn3 commented on Issue #1774:

:+1:

view this post on Zulip Wasmtime GitHub notifications bot (Jun 02 2020 at 00:23):

cfallin commented on Issue #1774:

Updated to return values in x0-x7 by default.

@bnjbvr, PTAL -- I think we'll need to land this first before we can version-bump vendored Cranelift in SpiderMonkey and fix the issues there. Thanks!


Last updated: Oct 23 2024 at 20:03 UTC