uweigand opened PR #3785 from isle-callret
to main
:
This adds infrastructure to allow implementing call and return
instructions in ISLE, and migrates the s390x back-end.Not intended to be committed as-is, this will not even compile
as it depends on the following pre-requisite patches:
https://github.com/bytecodealliance/wasmtime/pull/3783
https://github.com/bytecodealliance/wasmtime/pull/3784Note that the s390x back end never requires multiple slots for
a single argument - the infrastructure to handle this should
already be present, however.This uses
ABICallerIsle
instead of the existingABICaller
.
The new type is used solely to collect information about how
to pass arguments and return values - all the actual code
generation is done in ISLE rules. (Note thatABICallerIsle
ended up as just a thin wrapper aroundABISig
with public
accessors - maybe the two should be merged?)To implement loops in ISLE rule, this patch uses regular tail
recursion, employing aRange
data structure holding a range
of integers to be looped over.@cfallin @fitzgen - this is my current state of the call/ret patch - FYI and discussion welcome!
<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
uweigand updated PR #3785 from isle-callret
to main
.
cfallin submitted PR review.
uweigand updated PR #3785 from isle-callret
to main
.
uweigand updated PR #3785 from isle-callret
to main
.
uweigand updated PR #3785 from isle-callret
to main
.
cfallin submitted PR review.
cfallin merged PR #3785.
Last updated: Dec 23 2024 at 12:05 UTC