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

@ -3700,6 +3700,12 @@ VALIDATE_INSTRUCTION(f64x2_convert_low_i32x4_u)
return stack.take_and_put<ValueType::V128>(ValueType::V128);
}
VALIDATE_INSTRUCTION(synthetic_end_expression)
{
is_constant = true;
return {}; // Always valid.
}
ErrorOr<void, ValidationError> Validator::validate(Instruction const& instruction, Stack& stack, bool& is_constant)
{
switch (instruction.opcode().value()) {