abrown opened PR #5352 from x64-leaf-functions
to main
:
Cranelift has had the ability for some time to identify leaf functions;
by Cranelift's definition, a leaf function is one that knows of no other
call signatures. https://github.com/bytecodealliance/wasmtime/issues/1148 noted how it would be a good idea to avoid extra
frame setup work in leaf functions and https://github.com/bytecodealliance/wasmtime/pull/2960 implemented this for
aarch64 and s390x. This improvement was not made for x64 due to some
test failures. This change avoids any frame setup for non-stack-using
leaf functions in x64.Because this updates the generated code, there are multiple sets of tests
to update -- each of these is separated here into its own commit. I will follow
up in the comments with benchmark results.
cfallin submitted PR review.
cfallin submitted PR review.
cfallin created PR review comment:
Remove filesystem write (probably leftover temporary code)?
abrown updated PR #5352 from x64-leaf-functions
to main
.
abrown updated PR #5352 from x64-leaf-functions
to main
.
abrown updated PR #5352 from x64-leaf-functions
to main
.
abrown updated PR #5352 from x64-leaf-functions
to main
.
abrown updated PR #5352 from x64-leaf-functions
to main
.
bjorn3 submitted PR review.
bjorn3 created PR review comment:
Maybe my suggestion at https://github.com/bytecodealliance/wasmtime/pull/4469#discussion_r925815651 would work? "non-leaf" could be used by default and "always" could be used on macOS.
Last updated: Dec 23 2024 at 13:07 UTC