LibWasm: Move the interpreter IP out of the configuration object

This, along with moving the sources and destination out of the config
object, makes it so we don't have to double-deref to get to them on each
instruction, leading to a ~15% perf improvement on dispatch.
This commit is contained in:
Ali Mohammad Pur 2025-08-22 17:11:25 +02:00 committed by Ali Mohammad Pur
commit 22448b0c35
Notes: github-actions[bot] 2025-08-26 13:21:41 +00:00
11 changed files with 2182 additions and 2172 deletions

View file

@ -11,11 +11,10 @@
namespace Wasm {
void Configuration::unwind(Badge<CallFrameHandle>, CallFrameHandle const& frame_handle)
void Configuration::unwind(Badge<CallFrameHandle>, CallFrameHandle const&)
{
m_frame_stack.take_last();
m_depth--;
m_ip = frame_handle.ip.value();
m_locals_base = m_frame_stack.is_empty() ? nullptr : m_frame_stack.unchecked_last().locals().data();
}