|
@@ -144,6 +144,7 @@ interface
|
|
symlist : TFPObjectList;
|
|
symlist : TFPObjectList;
|
|
ptrdefs : tPtrDefHashSet; { list of pointerdefs created in this module so we can reuse them (not saved/restored) }
|
|
ptrdefs : tPtrDefHashSet; { list of pointerdefs created in this module so we can reuse them (not saved/restored) }
|
|
arraydefs : THashSet; { list of single-element-arraydefs created in this module so we can reuse them (not saved/restored) }
|
|
arraydefs : THashSet; { list of single-element-arraydefs created in this module so we can reuse them (not saved/restored) }
|
|
|
|
+ procaddrdefs : THashSet; { list of procvardefs created when getting the address of a procdef (not saved/restored) }
|
|
{$ifdef llvm}
|
|
{$ifdef llvm}
|
|
llvmdefs : THashSet; { defs added for llvm-specific reasons (not saved/restored) }
|
|
llvmdefs : THashSet; { defs added for llvm-specific reasons (not saved/restored) }
|
|
{$endif llvm}
|
|
{$endif llvm}
|
|
@@ -572,6 +573,7 @@ implementation
|
|
symlist:=TFPObjectList.Create(false);
|
|
symlist:=TFPObjectList.Create(false);
|
|
ptrdefs:=cPtrDefHashSet.Create;
|
|
ptrdefs:=cPtrDefHashSet.Create;
|
|
arraydefs:=THashSet.Create(64,true,false);
|
|
arraydefs:=THashSet.Create(64,true,false);
|
|
|
|
+ procaddrdefs:=THashSet.Create(64,true,false);
|
|
{$ifdef llvm}
|
|
{$ifdef llvm}
|
|
llvmdefs:=THashSet.Create(64,true,false);
|
|
llvmdefs:=THashSet.Create(64,true,false);
|
|
{$endif llvm}
|
|
{$endif llvm}
|
|
@@ -689,6 +691,7 @@ implementation
|
|
symlist.free;
|
|
symlist.free;
|
|
ptrdefs.free;
|
|
ptrdefs.free;
|
|
arraydefs.free;
|
|
arraydefs.free;
|
|
|
|
+ procaddrdefs.free;
|
|
{$ifdef llvm}
|
|
{$ifdef llvm}
|
|
llvmdefs.free;
|
|
llvmdefs.free;
|
|
{$endif llvm}
|
|
{$endif llvm}
|
|
@@ -756,6 +759,8 @@ implementation
|
|
ptrdefs:=cPtrDefHashSet.Create;
|
|
ptrdefs:=cPtrDefHashSet.Create;
|
|
arraydefs.free;
|
|
arraydefs.free;
|
|
arraydefs:=THashSet.Create(64,true,false);
|
|
arraydefs:=THashSet.Create(64,true,false);
|
|
|
|
+ procaddrdefs.free;
|
|
|
|
+ procaddrdefs:=THashSet.Create(64,true,false);
|
|
{$ifdef llvm}
|
|
{$ifdef llvm}
|
|
llvmdefs.free;
|
|
llvmdefs.free;
|
|
llvmdefs:=THashSet.Create(64,true,false);
|
|
llvmdefs:=THashSet.Create(64,true,false);
|