mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 10:29:17 +02:00
* 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:
parent
c886a3486e
commit
b2cdd72e5c
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user