|
@@ -196,8 +196,15 @@ end;
|
|
procedure NormalizeElems(m: TWasmModule);
|
|
procedure NormalizeElems(m: TWasmModule);
|
|
var
|
|
var
|
|
i : integer;
|
|
i : integer;
|
|
|
|
+ e : TWasmElement;
|
|
|
|
+ l : TWasmInstrList;
|
|
begin
|
|
begin
|
|
|
|
+ //todo: resolve offsets
|
|
for i:=0 to m.ElementCount-1 do begin
|
|
for i:=0 to m.ElementCount-1 do begin
|
|
|
|
+ e := m.GetElement(i);
|
|
|
|
+ l := e.AddOffset;
|
|
|
|
+ if (l.Count=0) then l.AddInstr(INST_i32_const).operandText:='0';
|
|
|
|
+ NormalizeInst( m, nil, l);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -211,6 +218,7 @@ var
|
|
begin
|
|
begin
|
|
fnIdx := 0;
|
|
fnIdx := 0;
|
|
NormalizeTable(m);
|
|
NormalizeTable(m);
|
|
|
|
+ NormalizeElems(m);
|
|
NormalizeImport(m, fnIdx);
|
|
NormalizeImport(m, fnIdx);
|
|
|
|
|
|
for i:=0 to m.FuncCount-1 do begin
|
|
for i:=0 to m.FuncCount-1 do begin
|