|
@@ -155,15 +155,14 @@ interface
|
|
FConstPools : array[TConstPoolType] of THashSet;
|
|
FConstPools : array[TConstPoolType] of THashSet;
|
|
function GetConstPools(APoolType: TConstPoolType): THashSet;
|
|
function GetConstPools(APoolType: TConstPoolType): THashSet;
|
|
public
|
|
public
|
|
- name,
|
|
|
|
- realname : string[80];
|
|
|
|
|
|
+ name : pshortstring; { owned by tmodule }
|
|
NextVTEntryNr : longint;
|
|
NextVTEntryNr : longint;
|
|
{ Assembler lists }
|
|
{ Assembler lists }
|
|
AsmLists : array[TAsmListType] of TAsmList;
|
|
AsmLists : array[TAsmListType] of TAsmList;
|
|
CurrAsmList : TAsmList;
|
|
CurrAsmList : TAsmList;
|
|
WideInits : TLinkedList;
|
|
WideInits : TLinkedList;
|
|
ResStrInits : TLinkedList;
|
|
ResStrInits : TLinkedList;
|
|
- constructor create(const n:string);
|
|
|
|
|
|
+ constructor create(n: pshortstring);
|
|
destructor destroy;override;
|
|
destructor destroy;override;
|
|
{ asmsymbol }
|
|
{ asmsymbol }
|
|
function DefineAsmSymbolByClass(symclass: TAsmSymbolClass; const s : TSymStr;_bind:TAsmSymBind;_typ:Tasmsymtype) : TAsmSymbol;
|
|
function DefineAsmSymbolByClass(symclass: TAsmSymbolClass; const s : TSymStr;_bind:TAsmSymBind;_typ:Tasmsymtype) : TAsmSymbol;
|
|
@@ -343,14 +342,13 @@ implementation
|
|
Result := FConstPools[APoolType];
|
|
Result := FConstPools[APoolType];
|
|
end;
|
|
end;
|
|
|
|
|
|
- constructor TAsmData.create(const n:string);
|
|
|
|
|
|
+ constructor TAsmData.create(n:pshortstring);
|
|
var
|
|
var
|
|
alt : TAsmLabelType;
|
|
alt : TAsmLabelType;
|
|
hal : TAsmListType;
|
|
hal : TAsmListType;
|
|
begin
|
|
begin
|
|
inherited create;
|
|
inherited create;
|
|
- realname:=n;
|
|
|
|
- name:=upper(n);
|
|
|
|
|
|
+ name:=n;
|
|
{ symbols }
|
|
{ symbols }
|
|
FAsmSymbolDict:=TFPHashObjectList.create(true);
|
|
FAsmSymbolDict:=TFPHashObjectList.create(true);
|
|
FAltSymbolList:=TFPObjectList.Create(false);
|
|
FAltSymbolList:=TFPObjectList.Create(false);
|
|
@@ -494,7 +492,7 @@ implementation
|
|
but if we create_smartlink_sections, this is useless }
|
|
but if we create_smartlink_sections, this is useless }
|
|
(create_smartlink_library) and
|
|
(create_smartlink_library) and
|
|
(alt = alt_dbgline) then
|
|
(alt = alt_dbgline) then
|
|
- l:=TAsmLabel.createglobal(AsmSymbolDict,name,FNextLabelNr[alt],alt)
|
|
|
|
|
|
+ l:=TAsmLabel.createglobal(AsmSymbolDict,name^,FNextLabelNr[alt],alt)
|
|
else
|
|
else
|
|
l:=TAsmLabel.createlocal(AsmSymbolDict,FNextLabelNr[alt],alt);
|
|
l:=TAsmLabel.createlocal(AsmSymbolDict,FNextLabelNr[alt],alt);
|
|
inc(FNextLabelNr[alt]);
|
|
inc(FNextLabelNr[alt]);
|
|
@@ -509,13 +507,13 @@ implementation
|
|
|
|
|
|
procedure TAsmData.getglobaljumplabel(out l : TAsmLabel);
|
|
procedure TAsmData.getglobaljumplabel(out l : TAsmLabel);
|
|
begin
|
|
begin
|
|
- l:=TAsmLabel.createglobal(AsmSymbolDict,name,FNextLabelNr[alt_jump],alt_jump);
|
|
|
|
|
|
+ l:=TAsmLabel.createglobal(AsmSymbolDict,name^,FNextLabelNr[alt_jump],alt_jump);
|
|
inc(FNextLabelNr[alt_jump]);
|
|
inc(FNextLabelNr[alt_jump]);
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TAsmData.getdatalabel(out l : TAsmLabel);
|
|
procedure TAsmData.getdatalabel(out l : TAsmLabel);
|
|
begin
|
|
begin
|
|
- l:=TAsmLabel.createglobal(AsmSymbolDict,name,FNextLabelNr[alt_data],alt_data);
|
|
|
|
|
|
+ l:=TAsmLabel.createglobal(AsmSymbolDict,name^,FNextLabelNr[alt_data],alt_data);
|
|
inc(FNextLabelNr[alt_data]);
|
|
inc(FNextLabelNr[alt_data]);
|
|
end;
|
|
end;
|
|
|
|
|