+ added method TWasmObjData.AddOrCreateObjSymbolExtraData

This commit is contained in:
Nikolay Nikolov 2021-09-25 15:35:28 +03:00
parent 27675967f8
commit 4ef2a88946

View File

@ -71,6 +71,7 @@ interface
destructor destroy; override;
function sectionname(atype:TAsmSectiontype;const aname:string;aorder:TAsmSectionOrder):string;override;
procedure writeReloc(Data:TRelocDataInt;len:aword;p:TObjSymbol;Reloctype:TObjRelocationType);override;
function AddOrCreateObjSymbolExtraData(const symname:TSymStr): TWasmObjSymbolExtraData;
function AddFuncType(wft: TWasmFuncType): integer;
procedure DeclareFuncType(ft: tai_functype);
end;
@ -313,6 +314,13 @@ implementation
begin
end;
function TWasmObjData.AddOrCreateObjSymbolExtraData(const symname: TSymStr): TWasmObjSymbolExtraData;
begin
result:=TWasmObjSymbolExtraData(FObjSymbolsExtraDataList.Find(symname));
if not assigned(result) then
result:=TWasmObjSymbolExtraData.Create(FObjSymbolsExtraDataList,symname);
end;
function TWasmObjData.AddFuncType(wft: TWasmFuncType): integer;
var
i: Integer;
@ -333,9 +341,7 @@ implementation
begin
i:=AddFuncType(ft.functype);
ObjSymExtraData:=TWasmObjSymbolExtraData(FObjSymbolsExtraDataList.Find(ft.funcname));
if not assigned(ObjSymExtraData) then
ObjSymExtraData:=TWasmObjSymbolExtraData.Create(FObjSymbolsExtraDataList,ft.funcname);
ObjSymExtraData:=AddOrCreateObjSymbolExtraData(ft.funcname);
ObjSymExtraData.TypeIdx:=i;
end;