* small optimization in TNewExeOutput.FillImportedNameTable - only add the

library name once, instead of trying to add it (which causes a look up) for
  every imported symbol

git-svn-id: trunk@42612 -
This commit is contained in:
nickysn 2019-08-09 13:35:53 +00:00
parent d5a18f03a8
commit d24cfcb31c

View File

@ -3985,10 +3985,12 @@ cleanup:
ImportLibrary: TImportLibrary;
ImportSymbol: TImportSymbol;
exesym: TExeSymbol;
LibNameAdded: Boolean;
begin
for i:=0 to FImports.Count-1 do
begin
ImportLibrary:=TImportLibrary(FImports[i]);
LibNameAdded:=False;
for j:=0 to ImportLibrary.ImportSymbolList.Count-1 do
begin
@ -3996,7 +3998,11 @@ cleanup:
exesym:=TExeSymbol(ExeSymbolList.Find(ImportSymbol.MangledName));
if assigned(exesym) then
begin
ImportedNameTable.AddImportedName(ImportLibrary.Name);
if not LibNameAdded then
begin
ImportedNameTable.AddImportedName(ImportLibrary.Name);
LibNameAdded:=True;
end;
if (ImportSymbol.OrdNr=0) and (ImportSymbol.Name<>'') then
ImportedNameTable.AddImportedName(ImportSymbol.Name);
end;