* free the implementation info for procdefs immediately after a module

has been compiled

git-svn-id: trunk@32042 -
This commit is contained in:
Jonas Maebe 2015-10-13 15:58:54 +00:00
parent 3bd5934a51
commit 192bb3e032
2 changed files with 14 additions and 6 deletions

View File

@ -544,6 +544,7 @@ implementation
pd.localst.free;
pd.localst:=nil;
end;
pd.freeimplprocdefinfo;
end;
end;
end;

View File

@ -753,6 +753,7 @@ interface
constructor create(level:byte;doregister:boolean);virtual;
constructor ppuload(ppufile:tcompilerppufile);
destructor destroy;override;
procedure freeimplprocdefinfo;
{ do not override this routine in platform-specific subclasses,
override ppuwrite_platform instead }
procedure ppuwrite(ppufile:tcompilerppufile);override;final;
@ -5329,12 +5330,7 @@ implementation
dispose(inlininginfo);
inlininginfo:=nil;
end;
if assigned(implprocdefinfo) then
begin
stringdispose(implprocdefinfo^.resultname);
freemem(implprocdefinfo);
implprocdefinfo:=nil;
end;
freeimplprocdefinfo;
genericdecltokenbuf.free;
genericdecltokenbuf:=nil;
stringdispose(import_dll);
@ -5358,6 +5354,17 @@ implementation
end;
procedure tprocdef.freeimplprocdefinfo;
begin
if assigned(implprocdefinfo) then
begin
stringdispose(implprocdefinfo^.resultname);
freemem(implprocdefinfo);
implprocdefinfo:=nil;
end;
end;
procedure tprocdef.ppuwrite(ppufile:tcompilerppufile);
var
oldintfcrc : boolean;