mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 20:09:27 +02:00
+ empty g_save_standard_registers/g_restore_standard_registers overrides
(their work was/is done by g_proc_entry/g_proc_exit, and the generic version saves the registers in the wrong place)
This commit is contained in:
parent
759c010f6a
commit
c0b4a9026c
@ -83,6 +83,8 @@ unit cgcpu;
|
|||||||
|
|
||||||
procedure g_proc_entry(list : taasmoutput;localsize : longint;nostackframe:boolean);override;
|
procedure g_proc_entry(list : taasmoutput;localsize : longint;nostackframe:boolean);override;
|
||||||
procedure g_proc_exit(list : taasmoutput;parasize : longint;nostackframe:boolean); override;
|
procedure g_proc_exit(list : taasmoutput;parasize : longint;nostackframe:boolean); override;
|
||||||
|
procedure g_save_standard_registers(list:Taasmoutput); override;
|
||||||
|
procedure g_restore_standard_registers(list:Taasmoutput); override;
|
||||||
|
|
||||||
procedure a_loadaddr_ref_reg(list : taasmoutput;const ref : treference;r : tregister);override;
|
procedure a_loadaddr_ref_reg(list : taasmoutput;const ref : treference;r : tregister);override;
|
||||||
|
|
||||||
@ -94,7 +96,7 @@ unit cgcpu;
|
|||||||
function get_rlwi_const(a: aint; var l1, l2: longint): boolean;
|
function get_rlwi_const(a: aint; var l1, l2: longint): boolean;
|
||||||
|
|
||||||
procedure a_jmp_cond(list : taasmoutput;cond : TOpCmp;l: tasmlabel);
|
procedure a_jmp_cond(list : taasmoutput;cond : TOpCmp;l: tasmlabel);
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
(* NOT IN USE: *)
|
(* NOT IN USE: *)
|
||||||
@ -974,6 +976,18 @@ const
|
|||||||
|
|
||||||
{ *********** entry/exit code and address loading ************ }
|
{ *********** entry/exit code and address loading ************ }
|
||||||
|
|
||||||
|
procedure tcgppc.g_save_standard_registers(list:Taasmoutput);
|
||||||
|
begin
|
||||||
|
{ this work is done in g_proc_entry }
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure tcgppc.g_restore_standard_registers(list:Taasmoutput);
|
||||||
|
begin
|
||||||
|
{ this work is done in g_proc_exit }
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure tcgppc.g_proc_entry(list : taasmoutput;localsize : longint;nostackframe:boolean);
|
procedure tcgppc.g_proc_entry(list : taasmoutput;localsize : longint;nostackframe:boolean);
|
||||||
{ generated the entry code of a procedure/function. Note: localsize is the }
|
{ generated the entry code of a procedure/function. Note: localsize is the }
|
||||||
{ sum of the size necessary for local variables and the maximum possible }
|
{ sum of the size necessary for local variables and the maximum possible }
|
||||||
@ -1197,6 +1211,7 @@ const
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{
|
{
|
||||||
|
{$ifdef oldregvars}
|
||||||
LOC_CREGISTER:
|
LOC_CREGISTER:
|
||||||
begin
|
begin
|
||||||
reference_reset_base(href2,NR_R12,hp.paraloc[callerside].location^.reference.offset);
|
reference_reset_base(href2,NR_R12,hp.paraloc[callerside].location^.reference.offset);
|
||||||
@ -1207,6 +1222,7 @@ const
|
|||||||
reference_reset_base(href2,NR_R12,hp.paraloc[callerside].location^.reference.offset);
|
reference_reset_base(href2,NR_R12,hp.paraloc[callerside].location^.reference.offset);
|
||||||
cg.a_loadfpu_ref_reg(list,hp.paraloc[calleeside].size,href2,tvarsym(hp.parasym).localloc.register);
|
cg.a_loadfpu_ref_reg(list,hp.paraloc[calleeside].size,href2,tvarsym(hp.parasym).localloc.register);
|
||||||
end;
|
end;
|
||||||
|
{$endif oldregvars}
|
||||||
else
|
else
|
||||||
internalerror(2004070911);
|
internalerror(2004070911);
|
||||||
}
|
}
|
||||||
@ -2341,7 +2357,12 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.182 2004-10-24 20:01:08 peter
|
Revision 1.183 2004-10-26 18:21:29 jonas
|
||||||
|
+ empty g_save_standard_registers/g_restore_standard_registers overrides
|
||||||
|
(their work was/is done by g_proc_entry/g_proc_exit, and the generic
|
||||||
|
version saves the registers in the wrong place)
|
||||||
|
|
||||||
|
Revision 1.182 2004/10/24 20:01:08 peter
|
||||||
* remove saveregister calling convention
|
* remove saveregister calling convention
|
||||||
|
|
||||||
Revision 1.181 2004/10/24 11:53:45 peter
|
Revision 1.181 2004/10/24 11:53:45 peter
|
||||||
|
Loading…
Reference in New Issue
Block a user