mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2026-01-07 13:00:39 +01:00
* tai_const_symbol.createdataname added
This commit is contained in:
parent
7391487daa
commit
2b0e576cbe
@ -720,7 +720,10 @@ implementation
|
||||
begin
|
||||
hp:=tasmsymbol(symbolsearch.search(s));
|
||||
if assigned(hp) then
|
||||
hp.defbind:=_bind
|
||||
begin
|
||||
if (_bind<>AB_EXTERNAL) then
|
||||
hp.defbind:=_bind
|
||||
end
|
||||
else
|
||||
begin
|
||||
{ Not found, insert it as an External }
|
||||
@ -884,7 +887,10 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.12 2002-11-17 16:31:55 carl
|
||||
Revision 1.13 2003-01-30 21:46:20 peter
|
||||
* tai_const_symbol.createdataname added
|
||||
|
||||
Revision 1.12 2002/11/17 16:31:55 carl
|
||||
* memory optimization (3-4%) : cleanup of tai fields,
|
||||
cleanup of tdef and tsym fields.
|
||||
* make it work for m68k
|
||||
|
||||
@ -316,6 +316,7 @@ interface
|
||||
constructor Createname(const name:string);
|
||||
constructor Createname_offset(const name:string;ofs:longint);
|
||||
constructor Createname_rva(const name:string);
|
||||
constructor Createdataname(const name:string);
|
||||
constructor ppuload(t:taitype;ppufile:tcompilerppufile);override;
|
||||
procedure ppuwrite(ppufile:tcompilerppufile);override;
|
||||
procedure derefimpl;override;
|
||||
@ -845,7 +846,7 @@ uses
|
||||
|
||||
|
||||
{****************************************************************************
|
||||
TAI_CONST_SYMBOL_OFFSET
|
||||
TAI_CONST_SYMBOL
|
||||
****************************************************************************}
|
||||
|
||||
constructor tai_const_symbol.Create(_sym:tasmsymbol);
|
||||
@ -909,6 +910,17 @@ uses
|
||||
end;
|
||||
|
||||
|
||||
constructor tai_const_symbol.Createdataname(const name:string);
|
||||
begin
|
||||
inherited Create;
|
||||
typ:=ait_const_symbol;
|
||||
sym:=objectlibrary.newasmsymboltype(name,AB_EXTERNAL,AT_DATA);
|
||||
offset:=0;
|
||||
{ update sym info }
|
||||
sym.increfs;
|
||||
end;
|
||||
|
||||
|
||||
constructor tai_const_symbol.ppuload(t:taitype;ppufile:tcompilerppufile);
|
||||
begin
|
||||
inherited ppuload(t,ppufile);
|
||||
@ -1714,13 +1726,13 @@ uses
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure Taasmoutput.convert_registers;
|
||||
|
||||
|
||||
var p:Tai;
|
||||
i:shortint;
|
||||
r:Preference;
|
||||
|
||||
|
||||
begin
|
||||
p:=Tai(first);
|
||||
while assigned(p) do
|
||||
@ -1754,7 +1766,10 @@ uses
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.19 2003-01-21 08:48:08 daniel
|
||||
Revision 1.20 2003-01-30 21:46:20 peter
|
||||
* tai_const_symbol.createdataname added
|
||||
|
||||
Revision 1.19 2003/01/21 08:48:08 daniel
|
||||
* Another 200301081 fixed
|
||||
|
||||
Revision 1.18 2003/01/09 20:40:59 daniel
|
||||
|
||||
@ -188,7 +188,7 @@ implementation
|
||||
begin
|
||||
If (hp.u.flags and uf_threadvars)=uf_threadvars then
|
||||
begin
|
||||
ltvTables.concat(Tai_const_symbol.Createname(hp.u.modulename^+'_$THREADVARLIST'));
|
||||
ltvTables.concat(Tai_const_symbol.Createdataname(hp.u.modulename^+'_$THREADVARLIST'));
|
||||
inc(count);
|
||||
end;
|
||||
hp:=tused_unit(hp.next);
|
||||
@ -196,7 +196,7 @@ implementation
|
||||
{ Add program threadvars, if any }
|
||||
If (current_module.flags and uf_threadvars)=uf_threadvars then
|
||||
begin
|
||||
ltvTables.concat(Tai_const_symbol.Createname(current_module.modulename^+'_$THREADVARLIST'));
|
||||
ltvTables.concat(Tai_const_symbol.Createdataname(current_module.modulename^+'_$THREADVARLIST'));
|
||||
inc(count);
|
||||
end;
|
||||
{ TableCount }
|
||||
@ -223,7 +223,7 @@ implementation
|
||||
(vo_is_thread_var in tvarsym(p).varoptions) then
|
||||
begin
|
||||
{ address of threadvar }
|
||||
ltvTable.concat(tai_const_symbol.createname(tvarsym(p).mangledname));
|
||||
ltvTable.concat(tai_const_symbol.createdataname(tvarsym(p).mangledname));
|
||||
{ size of threadvar }
|
||||
ltvTable.concat(tai_const.create_32bit(tvarsym(p).getsize));
|
||||
end;
|
||||
@ -266,7 +266,7 @@ implementation
|
||||
begin
|
||||
If (hp.u.flags and uf_has_resources)=uf_has_resources then
|
||||
begin
|
||||
ResourceStringTables.concat(Tai_const_symbol.Createname(hp.u.modulename^+'_RESOURCESTRINGLIST'));
|
||||
ResourceStringTables.concat(Tai_const_symbol.Createdataname(hp.u.modulename^+'_RESOURCESTRINGLIST'));
|
||||
inc(count);
|
||||
end;
|
||||
hp:=tused_unit(hp.next);
|
||||
@ -274,7 +274,7 @@ implementation
|
||||
{ Add program resources, if any }
|
||||
If ResourceStringList<>Nil then
|
||||
begin
|
||||
ResourceStringTables.concat(Tai_const_symbol.Createname(current_module.modulename^+'_RESOURCESTRINGLIST'));
|
||||
ResourceStringTables.concat(Tai_const_symbol.Createdataname(current_module.modulename^+'_RESOURCESTRINGLIST'));
|
||||
Inc(Count);
|
||||
end;
|
||||
{ TableCount }
|
||||
@ -1438,7 +1438,10 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.93 2003-01-11 11:19:54 hajny
|
||||
Revision 1.94 2003-01-30 21:46:20 peter
|
||||
* tai_const_symbol.createdataname added
|
||||
|
||||
Revision 1.93 2003/01/11 11:19:54 hajny
|
||||
* correction from rev. 1.88 put back
|
||||
|
||||
Revision 1.92 2003/01/08 18:43:56 daniel
|
||||
|
||||
Loading…
Reference in New Issue
Block a user