mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-02 19:58:32 +02:00
* ungetregisterfpu gets size parameter
This commit is contained in:
parent
02b3ec4f28
commit
d179aea20d
@ -1011,7 +1011,7 @@ unit cgobj;
|
||||
hr:=rg.getregisterfpu(list,size);
|
||||
a_loadfpu_ref_reg(list,size,ref,hr);
|
||||
a_paramfpu_reg(list,size,hr,locpara);
|
||||
rg.ungetregisterfpu(list,hr);
|
||||
rg.ungetregisterfpu(list,hr,size);
|
||||
end;
|
||||
|
||||
|
||||
@ -1718,7 +1718,10 @@ finalization
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.110 2003-06-12 16:43:07 peter
|
||||
Revision 1.111 2003-06-12 21:11:10 peter
|
||||
* ungetregisterfpu gets size parameter
|
||||
|
||||
Revision 1.110 2003/06/12 16:43:07 peter
|
||||
* newra compiles for sparc
|
||||
|
||||
Revision 1.109 2003/06/07 18:57:04 jonas
|
||||
|
@ -298,7 +298,7 @@ unit paramgr;
|
||||
LOC_REGISTER, LOC_CREGISTER:
|
||||
rg.ungetregisterint(list,loc.register);
|
||||
LOC_FPUREGISTER, LOC_CFPUREGISTER:
|
||||
rg.ungetregisterfpu(list,loc.register);
|
||||
rg.ungetregisterfpu(list,loc.register,loc.size);
|
||||
LOC_REFERENCE,LOC_CREFERENCE:
|
||||
{ do nothing by default, most of the time it's the framepointer }
|
||||
else
|
||||
@ -459,7 +459,10 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.43 2003-06-09 14:54:26 jonas
|
||||
Revision 1.44 2003-06-12 21:11:10 peter
|
||||
* ungetregisterfpu gets size parameter
|
||||
|
||||
Revision 1.43 2003/06/09 14:54:26 jonas
|
||||
* (de)allocation of registers for parameters is now performed properly
|
||||
(and checked on the ppc)
|
||||
- removed obsolete allocation of all parameter registers at the start
|
||||
|
@ -241,7 +241,7 @@ unit rgobj;
|
||||
@param(r register to free)
|
||||
|
||||
}
|
||||
procedure ungetregisterfpu(list: taasmoutput; r : tregister); virtual;
|
||||
procedure ungetregisterfpu(list: taasmoutput; r : tregister;size:TCGsize); virtual;
|
||||
|
||||
function getregistermm(list: taasmoutput) : tregister; virtual;
|
||||
procedure ungetregistermm(list: taasmoutput; r : tregister); virtual;
|
||||
@ -816,7 +816,7 @@ unit rgobj;
|
||||
end;
|
||||
|
||||
|
||||
procedure trgobj.ungetregisterfpu(list : taasmoutput; r : tregister);
|
||||
procedure trgobj.ungetregisterfpu(list : taasmoutput; r : tregister;size:TCGsize);
|
||||
|
||||
begin
|
||||
ungetregistergen(list,r,usableregsfpu,unusedregsfpu,
|
||||
@ -870,7 +870,7 @@ unit rgobj;
|
||||
if r.enum in intregs then
|
||||
ungetregisterint(list,r)
|
||||
else if r.enum in fpuregs then
|
||||
ungetregisterfpu(list,r)
|
||||
ungetregisterfpu(list,r,OS_NO)
|
||||
else if r.enum in mmregs then
|
||||
ungetregistermm(list,r)
|
||||
else if r.enum in addrregs then
|
||||
@ -2429,6 +2429,8 @@ unit rgobj;
|
||||
if l.size in [OS_64,OS_S64] then
|
||||
rg.ungetregisterint(list,l.registerhigh);
|
||||
end;
|
||||
LOC_FPUREGISTER,LOC_CFPUREGISTER :
|
||||
rg.ungetregisterfpu(list,l.register,l.size);
|
||||
LOC_CREFERENCE,LOC_REFERENCE :
|
||||
rg.ungetreference(list, l.reference);
|
||||
end;
|
||||
@ -2466,7 +2468,10 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.52 2003-06-12 16:43:07 peter
|
||||
Revision 1.53 2003-06-12 21:11:10 peter
|
||||
* ungetregisterfpu gets size parameter
|
||||
|
||||
Revision 1.52 2003/06/12 16:43:07 peter
|
||||
* newra compiles for sparc
|
||||
|
||||
Revision 1.51 2003/06/09 14:54:26 jonas
|
||||
|
Loading…
Reference in New Issue
Block a user