LibWasm: Avoid repeated shrinkage of value stack

This commit is contained in:
Ali Mohammad Pur 2025-06-06 14:20:07 +02:00 committed by Ali Mohammad Pur
commit 5c6f223f48
Notes: github-actions[bot] 2025-08-08 10:57:22 +00:00

View file

@ -52,10 +52,9 @@ Result Configuration::execute(Interpreter& interpreter)
if (interpreter.did_trap()) if (interpreter.did_trap())
return interpreter.trap(); return interpreter.trap();
Vector<Value> results; Vector<Value> results { value_stack().span().slice_from_end(frame().arity()) };
results.ensure_capacity(frame().arity()); value_stack().shrink(value_stack().size() - results.size(), true);
for (size_t i = 0; i < frame().arity(); ++i) results.reverse();
results.unchecked_append(value_stack().take_last());
label_stack().take_last(); label_stack().take_last();
return Result { move(results) }; return Result { move(results) };