1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 12:17:35 +00:00

LibWasm: Don't put values and labels in OwnPtrs

Doing that was causing a lot of malloc/free traffic, but since there's
no need to have a stable pointer to them, we can just store them by
value.
This makes execution significantly faster :^)
This commit is contained in:
Ali Mohammad Pur 2021-05-23 21:21:17 +04:30 committed by Ali Mohammad Pur
parent c7bc1f59d8
commit 73eb0785e0
5 changed files with 83 additions and 86 deletions

View file

@ -22,7 +22,7 @@ public:
{
m_current_frame = frame.ptr();
m_stack.push(move(frame));
m_stack.push(make<Label>(m_current_frame->arity(), m_current_frame->expression().instructions().size()));
m_stack.push(Label(m_current_frame->arity(), m_current_frame->expression().instructions().size()));
}
auto& frame() const { return m_current_frame; }
auto& frame() { return m_current_frame; }