forked from bytecodealliance/wasmtime
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor
CallInfo
amongst Cranelift's backends (bytecodealliance#9190)
* Refactor backends to use the same `CallInfo` This commit refactors the various backends of cranelift, except for s390x, to use a shared definition of `CallInfo`. They were all already quite similar and the main change here is to push platform-specific pieces into the instructions outside of `CallInfo`. This is intended to make additions to `CallInfo` easier and require less refactoring in the future. Additionally this enables passing a `CallInfo` structure around instead of passing around all of its components which helps reduce the amount of arguments to various functions. * s390x: Use the same `CallInfo` as other backends This commit refactors s390x the same way as the previous commit to use the shared `CallInfo` that all other backends are using. This required more refactoring on the s390x side of things to notably extract a dedicated pseudo-instruction for `ElfTlsGetOffset` rather than bundling it within the `Call` instruction. * Review comments and test fixes * Fold `ExternalName` into `CallInfo` As predicted instruction sizes got larger when outlining this on some platforms so apply the same fix across all platforms by changing to `CallInfo<T>` where the `T` will change depending on whether it's an indirect or direct call. * Update test expectations
- Loading branch information
1 parent
d6713c5
commit ae92cb4
Showing
37 changed files
with
577 additions
and
866 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.