fitzgen opened issue #6100:
We use frame pointers for fast stack walking, but we only walk the stack from function calls and from trap locations, so we only need to preserve the frame pointers at those locations. In between such sites, we could reuse the frame pointer register for whatever else we need, getting a bit of an execution speed up.
This would, however, mean that we would stop playing nice with external profilers that do not rely on DWARF/
.eh_frame.Right now cranelift has a
preserve_frame_pointers=<bool>option. We could turn that into a tribool ofyes/no/call-and-trap-sitesand surface the option throughwasmtime::Configas well.
fitzgen labeled issue #6100:
We use frame pointers for fast stack walking, but we only walk the stack from function calls and from trap locations, so we only need to preserve the frame pointers at those locations. In between such sites, we could reuse the frame pointer register for whatever else we need, getting a bit of an execution speed up.
This would, however, mean that we would stop playing nice with external profilers that do not rely on DWARF/
.eh_frame.Right now cranelift has a
preserve_frame_pointers=<bool>option. We could turn that into a tribool ofyes/no/call-and-trap-sitesand surface the option throughwasmtime::Configas well.
Last updated: Dec 06 2025 at 06:05 UTC