* WebAssembly: micro optimization in the invoke helper - omit the last 'return' instruction

This commit is contained in:
Nikolay Nikolov 2025-02-09 20:12:57 +02:00
parent 8790c4303a
commit 55aa5ac129

View File

@ -6001,7 +6001,7 @@ implementation
Sec: TObjSection;
IndirectFunctionTableMap: array of Integer;
procedure InvokeFuncType(typidx: Integer);
procedure InvokeFuncType(typidx: Integer; islast: Boolean);
var
ft: TWasmFuncType;
i, nextofs: Integer;
@ -6118,8 +6118,9 @@ implementation
internalerror(2025012501);
end;
end;
{ return }
Sec.writeUInt8($0F);
if not islast then
{ return }
Sec.writeUInt8($0F);
end;
function FuncIdx2TypeIdx(fi: Integer): Integer;
@ -6252,7 +6253,7 @@ implementation
begin
{ end }
Sec.writeUInt8($0B);
InvokeFuncType(InvokableTypeIndices[i]);
InvokeFuncType(InvokableTypeIndices[i],i=(Length(InvokableTypeIndices)-1));
end;
{ end }