La première boucle cherche dans la liste chainée de chaines si TrCodeField existe, si oui, il définit bFound à #True sinon il est défini à #False.
Mais bon, pour compiler un code ASM de 180 000 lignes, la bouche foreach et le if sont exécutés quelques 182.000.000 de fois. (Merci le profileur).
Code : Tout sélectionner
; add if part doesn't exist
bFound = #False
ForEach LL_ASM_extrn()
If LL_ASM_extrn() = TrCodeField
bFound = #True
Break
EndIf
Next
If bFound = #False
If AddElement(LL_ASM_extrn())
LL_ASM_extrn() = TrCodeField
EndIf
ProcedureReturn #True
EndIf
Merci d'avance.