Stream: git-wasmtime

Topic: wasmtime / issue #6100 Consider only maintaining frame po...


view this post on Zulip Wasmtime GitHub notifications bot (Mar 24 2023 at 17:53):

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 of yes/no/call-and-trap-sites and surface the option through wasmtime::Config as well.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 24 2023 at 17:53):

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 of yes/no/call-and-trap-sites and surface the option through wasmtime::Config as well.


Last updated: Dec 23 2024 at 12:05 UTC