* always add dummy marker object at the start of an assembler list, so

the optimizer can't remove the first object
This commit is contained in:
Jonas Maebe 2003-07-02 16:43:48 +00:00
parent c886a3486e
commit b2cdd72e5c

View File

@ -173,7 +173,7 @@ interface
TMarker = (NoPropInfoStart,NoPropInfoEnd, TMarker = (NoPropInfoStart,NoPropInfoEnd,
AsmBlockStart,AsmBlockEnd, AsmBlockStart,AsmBlockEnd,
InlineStart,InlineEnd); InlineStart,InlineEnd,marker_blockstart);
{ Buffer type used for alignment } { Buffer type used for alignment }
tfillbuffer = array[0..63] of char; tfillbuffer = array[0..63] of char;
@ -468,6 +468,7 @@ interface
Ttranstable=array[Tsuperregister] of Tsuperregister; Ttranstable=array[Tsuperregister] of Tsuperregister;
taasmoutput = class(tlinkedlist) taasmoutput = class(tlinkedlist)
constructor create;
function getlasttaifilepos : pfileposinfo; function getlasttaifilepos : pfileposinfo;
procedure convert_registers; procedure convert_registers;
procedure translate_registers(const table:Ttranstable); procedure translate_registers(const table:Ttranstable);
@ -1719,6 +1720,13 @@ uses
TAAsmOutput TAAsmOutput
*****************************************************************************} *****************************************************************************}
constructor taasmoutput.create;
begin
inherited create;
// make sure the optimizer won't remove the first tai of this list
insert(tai_marker.create(marker_blockstart));
end;
function taasmoutput.getlasttaifilepos : pfileposinfo; function taasmoutput.getlasttaifilepos : pfileposinfo;
var var
hp : tlinkedlistitem; hp : tlinkedlistitem;
@ -1830,7 +1838,11 @@ uses
end. end.
{ {
$Log$ $Log$
Revision 1.29 2003-06-03 13:01:59 daniel Revision 1.30 2003-07-02 16:43:48 jonas
* always add dummy marker object at the start of an assembler list, so
the optimizer can't remove the first object
Revision 1.29 2003/06/03 13:01:59 daniel
* Register allocator finished * Register allocator finished
Revision 1.28 2003/05/12 18:13:57 peter Revision 1.28 2003/05/12 18:13:57 peter